Tanto las Enumeraciones Puras como las Enumeraciones Respaldadas implementan una interfaz interna llamada
UnitEnum. UnitEnum incluye un método estático
cases(). cases() devuelve un array compacto de
todos los Casos definidos en el orden de declaración.
<?php
Suit::cases();
// Produce: [Suit::Hearts, Suit::Diamonds, Suit::Clubs, Suit::Spades]
?>Definir manualmente un método cases() en una Enumeración resultará en un error fatal.