php:可以在属性上使用特征优先规则吗?

时间:2017-04-01 00:06:37

标签: php traits

可以在属性上使用特征优先规则吗?我的初步研究没有发现任何事情,测试也没有发现......

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;


        }
}

1 个答案:

答案 0 :(得分:0)

对于财产-声明财产的地方并不重要,重要的是财产的价值。

value problem可以并且应该通过为属性分配值来解决,并且应该在public function __construct()中完成。这是此功能的全部目的。

PS

static属性中,值分配不能正常工作,但是我强烈不鼓励每个人完全使用static属性。只需将另一个类用作单例……好吧,这是一个讨论其他问题的话题。