我不是要在我的性状中执行构造函数(或在使用性状时的另一种方法)。有可能吗?
trait test{
public function __construct()
{
echo 'test';
}
}
class myClass{
use test;
public function __construct(){
echo 'myClass';
}
}
new myClass();
尝试这样的尝试(test):
trait test{
public function __construct()
{
echo 'test';
}
}
class myClass{
use test {
test::__construct as private __tConstruct;
}
public function __construct(){
$this->__tConstruct();
}
}
new myClass();
我仍然找不到记录的最佳实践,因此我在特征上使用__ -constructMyTraitName方法从Laravel遵循特征启动模式,并从模型构造函数中调用它。这似乎比"使用"更干净。别名。
trait MyTrait {
public function __constructMyTrait($attributes)
{
// Trait constructor logic here
}
}
然后在我的模型中:
use MyTrait;
public function __construct(array $attributes = [])
{
parent::__construct($attributes);
$this->__constructMyTrait($attributes);
}