Listagem de valores

Tanto Pure Enums quanto Backed Enums implementam uma interface interna chamada UnitEnum. UnitEnum inclui um método estático cases(). cases() retorna um array embalado com todos os Casos definidos na ordem de declaração.

<?php

Naipe::cases();
// Produz: [Naipe::Copas, Naipe::Ouros, Naipe::Paus, Naipe::Espadas]
?>

Definir manualmente um método cases() em uma Enum resultará em um erro fatal.