PHP Enum
Enum
の使い方は、いろんな人が説明しているので、省きます。
私が遭遇して知ったのですが、逆に使えない場合を記載します。
使用環境
Name | Version |
---|---|
PHP | 8.1.12 |
定数を可変で取得できない
enum Oil: string { case HighOctane = 'ハイオク'; case Regular = 'レギュラー'; } $item = 'HighOctane'; echo Oil::$item->name;
クラス定数で使えない
PHP8.1
では使えないらしいですが、PHP8.2
から使えるらしいです。
enum E: string { case Foo = 'foo'; } const C = E::Foo->name;
追記(2022-12-10):PHP8.2.0
がリリースされたので、インストールして動作したのを確認しました。