为什么我们只有这种静态方式来在 Laravel 中启动 traits:
static function bootMyTrait ()
{...}
有什么方法可以引导特征并在引导函数中包含模型实例吗?像这样:
function bootMyTrait ()
{
if ($this instanceOf awesomeInterface)
{
$this->append('nice_attribute');
}
}
我需要这个AF,很长一段时间都没有找到任何解决方案。
最佳答案
自 Laravel 5.7你可以使用 trait initializers,而不是 trait booters。我有同样的任务并且能够像这样解决它:
public function initializeMyTrait()
{
if ($this instanceOf awesomeInterface)
{
$this->append('nice_attribute');
}
}
关于php - 在 Laravel 中,我如何非静态地启动特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48586019/