Pure Enum と Backed Enum は、
共に内部インターフェイス UnitEnum
を実装しています。
UnitEnum
には
static メソッド cases()
が含まれています。
cases()
は、
定義されている全ての case を宣言された順に含めた配列を返します。
<?php
Suit::cases();
// [Suit::Hearts, Suit::Diamonds, Suit::Clubs, Suit::Spades] を生成
?>
列挙型において、手動で cases()
メソッドを定義すると、致命的なエラーが発生します。