dziedziczone Mam cechęPHP Trait wywołanie funkcji
trait Foo{
protected static function foo(){
echo 'Hello';
}
}
i klasę
class Bar{
use Foo;
private static function foo(){
Foo::foo();
echo ' World!';
}
}
Nie mogę korzystać Foo:foo()
. Co mogę zrobić, aby osiągnąć pożądany efekt?
EDIT
Korzystanie
use Foo {foo as parentFoo}
private static function foo(){
self::parentFoo();
echo ' World!';
}
załatwiło sprawę.
widzieć konflikt rozdzielczości http://php.net/manual/en/language.oop5.traits.php – goat
Psst, starasz się wywołać metodę non-statyczne w sposób statyczny. Powinieneś zobaczyć ostrzeżenie o tym. Może powinieneś zmienić swój poziom "error_reporting". – Charles
O, oops, zapomniałem dodać statyczne słowa kluczowe do opisu. Oboje są statyczni w rzeczywistości. - @rambocoder: Dzięki, zobacz edytuj. Zrobiło to. – arik