示例类:
class Example{
public static $ONE = [1,'one'];
public static $TWO = [2,'two'];
public static $THREE = [3,'three'];
public static function test(){
// manually created array
$arr = [
self::$ONE,
self::$TWO,
self::$THREE
];
}
}
PHP中有没有一种方法可以获得一个类静态成员变量数组,而无需像示例中那样手动创建它?
有:
使用反射和getStaticProperties()方法
class Example{
public static $ONE = [1,'one'];
public static $TWO = [2,'two'];
public static $THREE = [3,'three'];
public static function test(){
$reflection = new ReflectionClass(get_class());
return $reflection->getStaticProperties();
}
}
var_dump(Example::test());
演示