trait a
{
private $url = 123;
public function foo()
{
echo $this->url;
}
}
trait b
{
private $url = 456;
public function foo()
{
echo $this->url;
}
}
class Foo
{
use a, b {
a::$url insteadof $aUrl;
b::$url as $bUrl;
a::foo insteadof aFoo;
b::foo as bFoo;
}
}
我有两个特征,两个特征都包含相同的属性和方法名称
我的一个班级要求使用这两个特征
我尝试将别名改为别名。
我的问题是方法foo,它执行$ this-> url;
这会引起问题吗?因为现在哪个特质网址?
答案 0 :(得分:0)
也许你可以改变你的OOP架构?为此使用抽象类或接口而不是trait?最好不要在Trait中使用属性...