【发布时间】:2021-09-14 06:21:19
【问题描述】:
是否有一个有效的 Docblock 标签让 trait 知道它将与哪个类/接口一起使用?例如(以下纯属编造代码)。
interface Authenticatable {
public function getId();
}
class User implements Authenticatable {
use HasAvatar;
}
class Admin implements Authenticatable {
use HasAvatar;
}
trait HasAvatar {
public function getAvatarUrl() {
return AvatarService::getAvatarUrlForId(
$this->getId()
);
}
}
你可以看到HasAvatar trait 从父类访问getId()。
但是,当您在 IDE 中时,它无法找到 getId(),因为它不属于该特征,并且没有注释提示说明在哪里可以找到此方法。
因此,有没有办法告诉这个 trait 它将以特定的方式实现?例如
/**
* @used-by \App\Interfaces\Authenticatable
*/
这会让 IDE 知道它可以访问 Authenticatable 拥有的所有内容?
谢谢
【问题讨论】: