Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】ReflectionEnum::getConstants()メソッドの使い方

getConstantsメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getConstantsメソッドは、PHP 8で導入された列挙型(enum)に関する情報を取得するためのReflectionEnumクラスに属するメソッドです。このメソッドは、特定の列挙型に定義されているすべての定数(ケース)の情報を取得し、配列として返します。

具体的には、このメソッドは引数を必要とせず、呼び出すだけで対象の列挙型が持つ定数の一覧を提供します。戻り値は連想配列の形式で、配列のキーには列挙型の各定数(ケース)の名前が文字列として格納され、対応する値にはその定数の実際の値が格納されます。例えば、UnitEnumの場合、値は列挙型のインスタンスそのものになり、BackedEnumの場合、値は対応するバッキング値(intやstring)になります。

この機能は、プログラムの実行時に列挙型の構造を動的に検査したい場合に特に有用です。例えば、列挙型のすべてのケースをリストアップして表示するユーザーインターフェースを生成したり、利用可能なオプションを検証したりする際に活用できます。これにより、列挙型の定義変更に強く、柔軟なアプリケーションを構築することが可能になります。

構文(syntax)

1<?php
2
3enum MyStatus
4{
5    case ACTIVE;
6    case INACTIVE;
7}
8
9$reflectionEnum = new ReflectionEnum(MyStatus::class);
10$constants = $reflectionEnum->getConstants();

引数(parameters)

?int $filter = null

  • ?int $filter = null: 返される定数をフィルタリングするためのフラグ。指定しない場合は、すべての定数が返されます。

戻り値(return)

array

このメソッドは、ReflectionEnumオブジェクトが表す列挙型(Enum)のすべての定数を、名前をキー、定数の値を値とする連想配列として返します。

関連コンテンツ