(PHP 8 >= 8.1.0)
ReflectionEnum::getCases — Retorna uma lista de todos os casos em um Enum
Um Enum pode conter zero ou mais casos. Este método recupera todos os casos definidos, em ordem lexical (ou seja, a ordem em que aparecem no código-fonte).
Esta função não possui parâmetros.
Um array de objetos de reflexão Enum, um para cada caso no Enum. Para uma unidade Enum, todos serão instâncias de ReflectionEnumUnitCase. Para um Enum apoiado (backed), todos serão instâncias de ReflectionEnumBackedCase.
Exemplo #1 Exemplo de ReflectionEnum::getCases()
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
$rEnum = new ReflectionEnum(Suit::class);
$cases = $rEnum->getCases();
foreach ($cases as $rCase) {
var_dump($rCase->getValue());
}
?>
O exemplo acima produzirá:
enum(Suit::Hearts) enum(Suit::Diamonds) enum(Suit::Clubs) enum(Suit::Spades)