PHP - 在静态成员函数中动态获取类名

时间:2014-05-18 12:03:13

标签: php polymorphism

我有以下的hiearchy:

class A {
    public static function getClass() {
        return __CLASS__;
    }
}

class B extends A {}

class C extends B {}

没有覆盖B或C中的getClass(),我想要以下输出:

echo A::getClass() // A
echo B::getClass() // B
echo C::getClass() // C

目前,以上所有内容都只是输出A.我如何才能达到预期的行为?

1 个答案:

答案 0 :(得分:5)

试试这个。

class A {
    public static function getClass() {
        return get_called_class();
    }
}

class B extends A {}

class C extends B {}

Here's the demo