2012-06-18 149 views
0

我有一個類,我寫的所有的值,比如一個枚舉行動:「枚舉」類,得到

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

我要定義一個靜態函數將返回類的所有成員不變,但我能找到的唯一函數就是ReflectionClass :: getStaticProperties。不幸的是,它看起來並不像我可以這樣使用它。我的理解是常量是隱式靜態的,但函數忽略它們。有沒有一種方法,我沒有發現,將以類似的方式給我一個常量的數組?

+0

可能重複[?我能得到CONST對PHP類定義(http://stackoverflow.com/questions/956401/can-i-get-consts -defined-on-a-php-class) – Joey

回答

0

您可以使用Reflection

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


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

輸出:

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