我有一個特點PHP特質調用繼承功能
trait Foo{
protected static function foo(){
echo 'Hello';
}
}
和一類
class Bar{
use Foo;
private static function foo(){
Foo::foo();
echo ' World!';
}
}
我不能使用Foo:foo()
。我能做些什麼來達到預期的效果?
編輯
使用
use Foo {foo as parentFoo}
private static function foo(){
self::parentFoo();
echo ' World!';
}
的伎倆。
看到衝突解決http://php.net/manual/en/language.oop5.traits.php – goat
噓,你要調用非靜態方法以靜態的方式。你應該看到一個警告。也許你應該把你的'error_reporting'級別升高。 – Charles
哦,哎呀,我忘了在描述中添加靜態關鍵字。它們在現實中都是靜態的。 - @rambocoder:謝謝,請參閱編輯。它做了詭計。 – arik