1
trait TestTrait
{
public function matches()
{
}
}
class TestClassOne
{
public static function matches()
{
}
}
class TestClassTwo extends TestClassOne
{
use TestTrait {
matches as alternativeMatches;
}
public function run()
{
$this->alternativeMatches();
}
}
当调用就像上面说的,将返回错误运行的方法:致命错误:不能让匹配非静态特质与相同的方法类,一个静态
的类不被写入静态方法由我和我在其他多个地方使用的特质。如果我必须重写这个特性,或者不得不制作一个新的特性,只是为了让它与这个类共同工作,那该死的。
有没有办法让它工作?
干杯
我认为你应该添加你的更新作为答案,也接受它。如果有人找到了更好的解决方案,你仍然可以在以后改变,但在此之前,这可能和未来的访问者一样好。 – Yoshi
@Yoshi ..我会这样做,谢谢你的回答。 –
从您发布的小代码中,troublemaker是'TestClassOne :: matches()'。你有什么好的理由让它变成静态的吗? – axiac