有了這樣如何獲得一個類中的靜態變量列表?
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