PHPでクラス定数の一覧を取得する
PHP5限定ですが、Reflectionでどうでしょうか?
以下、サンプルです。
get_defined_constants()やget_class_vars()などでは取得できないので、、無理っぽい。
$ cat Reflection_getConstants.php <?php class Test { const HOGE = 1; public $hoge = 2; } $class = new ReflectionClass('Test'); var_dump($class->getConstants()); $class = new ReflectionClass('DateTime'); var_dump($class->getConstants()); $ $ php Reflection_getConstants.php array(1) { ["HOGE"]=> int(1) } array(12) { ["ATOM"]=> string(13) "Y-m-d\TH:i:sP" ["COOKIE"]=> string(16) "l, d-M-y H:i:s T" ["ISO8601"]=> string(13) "Y-m-d\TH:i:sO" ["RFC822"]=> string(16) "D, d M y H:i:s O" ["RFC850"]=> string(16) "l, d-M-y H:i:s T" ["RFC1036"]=> string(16) "D, d M y H:i:s O" ["RFC1123"]=> string(16) "D, d M Y H:i:s O" ["RFC2822"]=> string(16) "D, d M Y H:i:s O" ["RFC3339"]=> string(13) "Y-m-d\TH:i:sP" ["RSS"]=> string(16) "D, d M Y H:i:s O" ["W3C"]=> string(13) "Y-m-d\TH:i:sP" ["NUM14"]=> string(6) "YmdHis" } $
そういう話ではなかったら、ごめんなさいw