有了这样如何获得一个类中的静态变量列表?
class MyClass {
static var1 = "a";
static var2 = "b";
}
...我想找回在运行时的静态成员和他们的价值观一类;像
Array(
"var1" => "a",
"var2" => "b"
)
有什么办法可以在PHP中做到这一点?
有了这样如何获得一个类中的静态变量列表?
class MyClass {
static var1 = "a";
static var2 = "b";
}
...我想找回在运行时的静态成员和他们的价值观一类;像
Array(
"var1" => "a",
"var2" => "b"
)
有什么办法可以在PHP中做到这一点?
您可以使用ReflectionClass::getStaticProperties()
做到这一点:
$class = new ReflectionClass('MyClass');
$arr = $class->getStaticProperties();
Array ( [var1] => a [var2] => b )
对于漂亮的示例代码+1。 – hakre 2012-01-06 20:31:38
http://www.php.net/manual/en/reflectionclass.getstaticproperties.php - 试试这个
关于阶级和阶级属性获得信息,如所有的静态方法被称为“反射”。
[只有链接回答](https:// meta.stackexchange.com/a/8259)。如果可能,请改善。 – T30 2017-10-24 11:14:08
我发现get_class_vars(get_class($ OBJ)),但仅当$ obj是一个_instantiated_对象,而不是类本身的工作原理。如果我的班级只有静态成员,我想不必实例化班级。 – Phillip 2012-01-06 20:26:45
@Philip:你可以编辑你的问题,并以你的问题的形式添加你所发布的信息,更好地在你的问题中;) – hakre 2012-01-06 20:30:53
相关:[从字符串的名字,我可以得到一个静态变量?] (http://stackoverflow.com/questions/3354628/from-the-string-name-of-a-class-can-i-get-a-static-variable) – hakre 2012-01-06 20:35:11