(PHP 8 >= 8.1.0)
Las enumeraciones, o "Enums", permiten a un desarrollador definir un tipo personalizado que se limita a uno de un número discreto de valores posibles. Esto puede ser especialmente útil al definir un modelo de dominio, ya que permite "hacer que los estados no válidos sean irrepresentables".
Las enumeraciones aparecen en muchos lenguajes con una variedad de características diferentes. En PHP, las enumeraciones son un tipo especial de objeto. La enumeración en sí es una clase, y sus posibles casos son todos objetos de instancia única de esa clase. Eso significa que los casos de enumeración son objetos válidos y pueden usarse dondequiera que se pueda usar un objeto, incluyendo comprobaciones de tipo.
El ejemplo más popular de enumeraciones es el tipo booleano integrado, que es un
tipo enumerado con valores legales true
y false
.
Las enumeraciones permiten a los desarrolladores definir sus propias enumeraciones arbitrariamente robustas.