可以在属性上使用特征优先规则吗?我的初步研究没有发现任何事情,测试也没有发现......
trait ReuseThis{
public $Dependency_Property;
public function mutateProperty(){
//...long method
}
}
trait privatePropInstead{
private $Dependency_Property;
}
class precedence_test{
//would like to reuse long methods of ReuseThis, but with private properties
use ReuseThis,privatePropertyInstead{
//all of these fail
//privatePropInstead->Dependency_Property insteadof ReuseThis;
//privatePropInstead::$Dependency_Property insteadof ReuseThis;
//privatePropInstead::Dependency_Property insteadof ReuseThis;
}
}
答案 0 :(得分:0)
对于财产-声明财产的地方并不重要,重要的是财产的价值。
value problem
可以并且应该通过为属性分配值来解决,并且应该在public function __construct()
中完成。这是此功能的全部目的。
PS
在static
属性中,值分配不能正常工作,但是我强烈不鼓励每个人完全使用static
属性。只需将另一个类用作单例……好吧,这是一个讨论其他问题的话题。