常量持有$这个类名

时间:2014-04-22 07:22:25

标签: php oop

PHP中是否有一个常量保存当前的子类名称?这样我就可以编写一个函数:

namespace test\that;

class MyClass extends ClassA {
}

abstract class ClassA {
    public static function getClassName() {
        return __THIS_CLASS__; // like get_class($this); in a none static method
    }
}

最后我会做这样的事情:

namespace test\other;

use test\that\MyClass;

var_dump(MyClass::getClassName()); // --> test\that\MyClass

这甚至可能吗?

3 个答案:

答案 0 :(得分:2)

你可能正在关注get_called_class();它返回调用静态方法的类的名称。

public static function getClassName() {
    return get_called_class();
}

MyClass::getClassName(); // "MyClass"

答案 1 :(得分:0)

答案 2 :(得分:0)

您可以使用PHP get_called_class()方法。返回父类和子类名称。

get_called_class()