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.