如何解决如何在特征中提示`$this` 属性
我有一个在课堂上使用的特质。在那个特性中,我希望能够输入提示它正在使用哪个类。
这个特性很可能只被那个班级使用。我只是出于组织目的将其关注点分开。
class Foo extends Model
{
use Concerns/HasBar;
}
trait HasBar
{
public function bar()
{
$this->... // Type hint $this to Foo
}
}
解决方法
您可以在 HasBar::bar()
方法中使用 var tag 来键入提示类的公共成员
trait HasBar
{
public function bar()
{
/* @var Foo $this */
$this->... // Type hint $this to Foo
}
}
,
您无法限制一个特性只能在特定的类中使用。
如果你想以这种方式实现,你可以创建一个子类而不是使用特征。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。