Tanto los Enums Puros como los Enums Respaldados implementan una interfaz interna llamada
UnitEnum. UnitEnum
incluye un método estático
cases()
. cases()
devuelve un array empaquetado de
todos los Casos definidos en el orden de declaración.
<?php
Suit::cases();
// Devuelve: [Suit::Hearts, Suit::Diamonds, Suit::Clubs, Suit::Spades]
?>
Definiar manualmente el método cases()
en una enumeración causará en un error fatal.