(PHP 8 >= 8.1.0)
Перечисления, или Enums, разрешают разработчику определять настраиваемый тип, который ограничивается одним значением из дискретного числа возможных. Такое ограничение часто приносит пользу при определении модели предметной области, поскольку разрешает «сделать неверные состояния недопустимыми».
Перечисления появляются во многих языках программирования с разным набором функций и операций. В PHP перечисления относятся к виду объектов. Сами перечисления — классы, а каждый возможный случай перечисления — объект одного экземпляра этого класса. Поэтому варианты перечисления — допустимые объекты, которые будут работать там же, где работают объекты, включая проверки типов.
Самый популярный пример перечисления — встроенный логический тип,
он перечисляем и допускает значения true
и false
.
Классы enum разрешают разработчикам определять свои перечисления произвольной сложности.