PHP:覆盖trait静态方法

时间:2015-02-19 12:08:38

标签: php oop traits method-overriding

我有一个特性,它有一个静态方法,我想覆盖并再次调用它... 我试过这个:

trait MyTrait{
    static function myMethod(){ echo "Hi from my trait".PHP_EOL; }
}
class MyClass{
    use MyTrait {
        myMethod as myMethodTrait;
    }
    static function myMethod(){
        self::myMethodTrait();
        echo "Hi from my class";
    }
}
MyClass::myMethodTrait();

我有这个错误:

Fatal error: Could not find trait 0 in (...)

哪里出错?

...韩国社交协会

1 个答案:

答案 0 :(得分:1)

我刚尝试了这段代码,它可以正常运行。

MyClass::myMethodTrait(); // returns Hi from my trait 

MyClass::myMethod(); // returns Hi from my trait Hi from my class

严格来说,提供的代码没有错误。也许您可以添加更多信息?