PHP:在一个静态方法得到继承类的名称
-
21-09-2019 - |
题
好了,文章标题可能有点混乱。
我有这样的代码:
class A {
public static foo() {
return get_called_class();
}
}
class B extends A {
}
class C {
public function bar() {
echo B::foo();
}
}
输出:C
我想在foo中获得()是B类的名字我怎么能做到这一点,而不在B类的变化?
此致 扬奥利弗
PS:__ CLASS __,get_class()不工作
解决方案
PHP 5.3之前,这是不可能的,而不黑客和被称为晚期静态绑定,一个googleable术语
如果你有兴趣,这里是SO文章的答案:的伪造晚期静态PHP 5.3
之前结合其他提示
我想你可以使用内置的 反思类 作为这一点。
不隶属于 StackOverflow