Les Enums pures et les Enums soutenues 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.