“枚举”类,获取所有值

时间:2012-06-18 17:37:24

标签: php

我有一个我写的课程,就像枚举一样:

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

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

2 个答案:

答案 0 :(得分:1)

::getConstants而不是......?

答案 1 :(得分:0)

您可以使用Reflection

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


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

输出:

Array
(
    ['VAL1'] => Val1
    ['VAL2'] => Val2
)