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

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

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

作成日: 更新日:

基本的な使い方

getStaticPropertiesメソッドは、PHP 8.1以降で導入された列挙型(Enum)の情報をプログラムの実行中に動的に取得するためのReflectionEnumクラスに属するメソッドです。これは、プログラム自身が自身の構造や振る舞いを調べたり操作したりする「リフレクションAPI」の一部を構成します。

このメソッドの主な役割は、指定された列挙型が持つすべての「ケース」(列挙値のメンバー)に関する情報を連想配列として取得することです。返される配列では、各ケースの名前がキー(文字列)となり、対応するEnumのケースインスタンスそのものが値として格納されます。列挙型のケースは、実質的に静的なプロパティのように振る舞い、アプリケーション全体で共有される固定された値や状態を表します。

getStaticPropertiesメソッドを利用することで、例えば、特定のEnumが定義しているすべての選択肢を動的に取得し、ウェブページのドロップダウンリストやチェックボックスの項目を自動的に生成するといった用途に役立ちます。これにより、Enumの定義が変更された際にもプログラムコードを修正することなく、自動的にUIが更新されるなど、コードの保守性と拡張性を高めることができます。戻り値は常にarray型で、該当するケースがない場合は空の配列が返されます。

構文(syntax)

1<?php
2
3enum MyEnum
4{
5    case CaseA;
6    case CaseB;
7}
8
9$refEnum = new ReflectionEnum(MyEnum::class);
10$staticProperties = $refEnum->getStaticProperties();

引数(parameters)

引数なし

引数はありません

戻り値(return)

array

ReflectionEnum::getStaticProperties() は、PHP 8 で追加された ReflectionEnum クラスのメソッドです。このメソッドは、列挙型(Enum)クラスの静的プロパティを配列として返します。配列のキーはプロパティ名、値はそのプロパティの値を表します。

関連コンテンツ