如何从扩展类调用类名

时间:2014-02-03 22:40:47

标签: php class

如何从此类方法中没有实现的扩展类调用类名(我希望从父类扩展此函数)并且不调用新类。如果我这样称呼类名:

abstract class foo {

    public static function get_name(){
         return get_class();
         //or
         return __CLASS__;
    }
}

class bar extends foo {}

echo bar::get_name();

我得到:

foo

期望:

bar

2 个答案:

答案 0 :(得分:2)

您可以使用get_called_class执行此操作,但不清楚为什么要将其设为方法。

答案 1 :(得分:1)

对于静态方法,您只需使用get_called_class()代替get_class()

abstract class foo {
    public static function get_name(){
        return get_called_class();
    }
}

class bar extends foo {}
echo bar::get_name();