Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
case? Есть какая-то причина, или же это опять из серии «у нас будет не так, как у всех»?Видимо, потому что enum реализован не как надстройка над int, а как самостоятельный класс.
А конструкцию
case XXX = YYY;стоит рассматривать просто как синтаксический сахар:
const XXX = new ClassName(YYY);с неявной реализацией from и value.
Помимо полей "case" в enum может быть еще много всего. По сути это разновидность класса. Там могут быть методы, он может реализовывать интерфейсы или использовать трейты.
Вроде и полезно может оказаться, но страшно как это могут использовать, забыв о, например, SRP, да с магическими методами
Enum в PHP 8.1 — для чего нужен enum, и как реализован в PHP