0

我有一个我写的类就像一个枚举:

abstract class Enum {
   const VAL1 = "Val1";
   const VAL2 = "Val2";
}

我想定义一个静态函数,它将返回类的所有常量成员,但我能找到的唯一函数是 ReflectionClass::getStaticProperties。不幸的是,看起来我不能这样使用它。我的理解是常量是隐式静态的,但函数忽略了它们。有没有一种我没有找到的方法可以以类似的方式给我一个常量数组?

4

2 回答 2

1

::getConstants反而……怎么样?

于 2012-06-18T17:42:20.877 回答
0

您可以为此使用反射。

<?php
class Enum {
    const VAL1 = "Val1";
    const VAL2 = "Val2";
}


$refl = new ReflectionClass('Enum');
print_r($refl->getConstants());

输出:

Array
(
    ['VAL1'] => Val1
    ['VAL2'] => Val2
)
于 2012-06-18T17:43:22.697 回答