当一个类使用两个具有同名属性的特性时,如何解决属性名称冲突?
例:
name;
我已经尝试代替(Video :: name代替Audio)和(Video :: name as name2)成功了。
提前致谢 !
您不能,仅用于方法。
但是,只有在值相同的情况下,它们才可以使用相同的属性名称:
trait Video { public $name; function getName(){ return 'Video'; } } trait Audio { public $name; function getName(){ return 'Audio'; } } class Media { use Audio, Video { Video::getName insteadof Audio; } function __construct(){ $this->name = $this->getName(); // 'Video' } }