0

列挙のように機能するように作成したクラスがあります。

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

クラスのすべての定数メンバーを返す静的関数を定義したいのですが、それを実行できる唯一の関数はReflectionClass::getStaticPropertiesです。残念ながら、このように使用できるようには見えません。私の理解では、定数は暗黙的に静的ですが、関数はそれらを無視しています。同様の方法で定数の配列を取得する方法は見つかりませんでしたか?

4

2 に答える 2

1

::getConstants代わりに... ?

于 2012-06-18T17:42:20.877 に答える
0

これにはReflectionを使用できます。

<?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 に答える