Php 多个traits方法调用此属性
我有两个特征,两个特征包含相同的属性和方法名 我的一个班级要求使用这两个特征 我试着把别名改成不同的名字 我的问题在方法foo中,它执行$this->urlPhp 多个traits方法调用此属性,php,oop,Php,Oop,我有两个特征,两个特征包含相同的属性和方法名 我的一个班级要求使用这两个特征 我试着把别名改成不同的名字 我的问题在方法foo中,它执行$this->url 这会引起问题吗?因为现在是哪个特征url?也许你可以改变你的OOP架构?为此使用抽象类或接口而不是trait?最好不要在Trait中使用属性…尝试时发生了什么?alias属性出错 trait a { private $url = 123; public function foo() { echo $this
这会引起问题吗?因为现在是哪个特征url?也许你可以改变你的OOP架构?为此使用抽象类或接口而不是trait?最好不要在Trait中使用属性…尝试时发生了什么?alias属性出错
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;
}
}