Comments 5
А почему нельзя просто перечислить возможные значения, не используя ключевое слово
case
? Есть какая-то причина, или же это опять из серии «у нас будет не так, как у всех»?Возможно, проблема с парсингом. Далеко ходить не надо, синтаксис для атрибутов как долго выбирали
Видимо, потому что enum реализован не как надстройка над int, а как самостоятельный класс.
А конструкцию
case XXX = YYY;
стоит рассматривать просто как синтаксический сахар:
const XXX = new ClassName(YYY);
с неявной реализацией from
и value
.
Помимо полей "case" в enum может быть еще много всего. По сути это разновидность класса. Там могут быть методы, он может реализовывать интерфейсы или использовать трейты.
Вроде и полезно может оказаться, но страшно как это могут использовать, забыв о, например, SRP, да с магическими методами
Sign up to leave a comment.
Enum в PHP 8.1 — для чего нужен enum, и как реализован в PHP