【问题标题】:How can I get a list of static variables in a class?如何获取类中的静态变量列表?
【发布时间】:2012-02-04 13:06:17
【问题描述】:

像这样的类

class MyClass {
    static var1 = "a";
    static var2 = "b";
}

... 我想在运行时检索静态成员及其值;像

Array(
    "var1" => "a",
    "var2" => "b"
)

有没有办法在 PHP 中做到这一点?

【问题讨论】:

  • 我找到了 get_class_vars(get_class($obj)),但只有当 $obj 是一个 instantiated 对象而不是类本身时才有效。如果我的类中只有静态成员,我希望不必实例化类。
  • @Philip:您可以编辑您的问题并在您的问题中更好地添加您以评论形式放置的信息;)

标签: php class variables reflection static


【解决方案1】:

您可以使用ReflectionClass::getStaticProperties() 来执行此操作:

$class = new ReflectionClass('MyClass');
$arr = $class->getStaticProperties();
大批 ( [var1] => 一个 [var2] => b )

【讨论】:

    【解决方案2】:

    http://www.php.net/manual/en/reflectionclass.getstaticproperties.php - 试试这个

    获取有关类和类属性(例如所有静态方法)的信息称为“反射”。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 2015-06-02
    相关资源
    最近更新 更多