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.