PHP中的ReflectionClass是静态的?

时间:2011-08-21 04:21:12

标签: php

我知道我在PHP(5.3)中不能拥有new ReflectionClass(static),因为我刚试过它。有没有其他方法来解决这个限制?

传入一个字符串不是一个选项,虽然以某种方式获取类名的字符串是可以接受的。但是,idk如果它可以工作,因为我也在使用命名空间。

谢谢

1 个答案:

答案 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