我知道我在PHP(5.3)中不能拥有new ReflectionClass(static)
,因为我刚试过它。有没有其他方法来解决这个限制?
传入一个字符串不是一个选项,虽然以某种方式获取类名的字符串是可以接受的。但是,idk如果它可以工作,因为我也在使用命名空间。
谢谢
答案 0 :(得分:17)
您可以使用get_called_class()
获取包含被调用类的字符串。
class Foo {
public static function getReflection() {
return new ReflectionClass(get_called_class());
}
}
class Bar extends Foo {}
$reflectBar = Bar::getReflection();
// reflectBar now holds a ReflectionClass instance for Bar