Visão geral das Enumerações

(PHP 8 >= 8.1.0)

Enumerações, ou "Enums", permitem que um desenvolvedor defina um tipo personalizado que está limitado a um número discreto de valores possíveis. Isso pode ser especialmente útil ao definir um modelo de domínio, pois permite "tornar estados inválidos irrepresentáveis."

Enums aparecem em muitas linguagens com uma variedade de recursos diferentes. No PHP, Enums são um tipo especial de objeto. A Enum em si é uma classe, e seus possíveis casos são todos objetos de instância única dessa classe. Isso significa que casos Enum são objetos válidos e podem ser usados em qualquer lugar em que um objeto pode ser usado, incluindo verificações de tipo.

O exemplo mais popular de enumerações é o tipo embutido booleano, que é um tipo enumerado com valores válidos true e false. Enums permitem que os desenvolvedores definam suas próprias enumerações robustas.