Sowohl Pure Enums als auch Backed Enums implementieren eine interne
Schnittstelle namens UnitEnum.
UnitEnum
enthält die statische Methode
cases()
. cases()
gibt ein gepacktes
Array mit allen definierten Fällen in der Reihenfolge zurück, in der sie
deklariert wurden.
<?php
Suit::cases();
// Produces: [Suit::Hearts, Suit::Diamonds, Suit::Clubs, Suit::Spades]
?>
Die manuelle Definition der Methode cases()
führt bei
einer Enum zu einem fatalen Fehler.