定数を全て確認したい
class Items { const MAX_COUNT = 5; const ITEM_NAME = 'Hoge'; }
こんなふうにクラスがあって、
php > var_dump(Items::MAX_COUNT); int(5)
こんなふうに値が取れる。
でも、『どんな定数名が存在するか』とか、『全部定数がほしい』ってときにどうするか
ReflectionClassとgetConstantsを使う
php > $item = new ReflectionClass(Items::class); php > var_dump($item->getConstants()); array(2) { ["MAX_COUNT"]=> int(5) ["ITEM_NAME"]=> string(4) "Hoge" }
ReflectionClass経由で、getConstantsを起動すると、このようにキーと値が出てきます。
公式ドキュメント
https://www.php.net/manual/ja/reflectionclass.getconstants.php