Les Enums pures et les Enums avec valeur de base implémentent toute deux une interface interne nommée
UnitEnum. UnitEnum comprend une méthode statique
cases(). cases() renvoie un tableau compact de
tous les cas définis dans l'ordre de leur déclaration.
<?php
Suit::cases();
// Produces: [Suit::Hearts, Suit::Diamonds, Suit::Clubs, Suit::Spades]
?>La définition manuelle d'une méthode cases() sur un Enum entraînera une erreur fatale.