如何在特征中键入提示 `$this` 属性
How to type hint the `$this` property in a trait
我有一个特质正在 class 中使用。在那个特征中,我希望能够输入提示 class 它正在被使用。
这个特性很可能只被那个 class 使用。我只是出于组织目的将其关注点分开。
class Foo extends Model
{
use Concerns/HasBar;
}
trait HasBar
{
public function bar()
{
$this->... // Type hint $this to Foo
}
}
您无法限制在特定 class.
中专门使用的特征
如果你想以这种方式实现,你可以创建一个子 class 而不是使用特征。
您可以在 HasBar::bar()
方法中使用 var tag 来键入提示 public class
的成员
trait HasBar
{
public function bar()
{
/* @var Foo $this */
$this->... // Type hint $this to Foo
}
}
我有一个特质正在 class 中使用。在那个特征中,我希望能够输入提示 class 它正在被使用。
这个特性很可能只被那个 class 使用。我只是出于组织目的将其关注点分开。
class Foo extends Model
{
use Concerns/HasBar;
}
trait HasBar
{
public function bar()
{
$this->... // Type hint $this to Foo
}
}
您无法限制在特定 class.
中专门使用的特征如果你想以这种方式实现,你可以创建一个子 class 而不是使用特征。
您可以在 HasBar::bar()
方法中使用 var tag 来键入提示 public class
trait HasBar
{
public function bar()
{
/* @var Foo $this */
$this->... // Type hint $this to Foo
}
}