在php中获取类的所有静态属性的最简单方法

时间:2012-03-14 14:41:16

标签: php class

我有一个静态类Foo(这不是真正的类,所以静态字段只是例如)

class Foo{
    public static $name = "foo";
    public static $age = "18";
    public static $city = "Boston";
}

在我的代码中,我想构建一个包含所有公共静态属性及其当前值的数组。

有没有一个快速/简单的方法,任何人都可以建议这样做而不实例化Foo?

2 个答案:

答案 0 :(得分:10)

使用像这样的ReflectionClass实例来获取属性名称和值的数组:

$class = new ReflectionClass('Foo');
$staticProperties = $class->getStaticProperties();

foreach ($staticProperties as $propertyName => $value) { 
    // Your code here
}

答案 1 :(得分:7)

使用反射

<?php
require_once "Foo.php";
$reflection = new ReflectionClass("Foo"); 
$staticProperties = $reflection->getStaticProperties();
print_r($staticProperties)