Найти в Дзене

Перечисления из PHP 8.1 в PHP 7.4

Выгрузил в общий доступ библиотеку созданную в 2022 году для облегчения переезда с PHP 7.4 на PHP 8.1, среди прочего позволяет в 7-ой версии использовать перечисления максимально похожие на перечисления в 8.1

Спасибо разработчикам PHP, перечисления - это разновидность классов (финальных классов). Единственное синтаксическое нововведение - определение вариантов перечислений и вызов этих вариантов.

Благодаря тому, что перечисления классы - можно создать класс-перечисление в любой версии PHP, главное при этом, просто повторить набор публично доступных методов и свойств. Остается только проблема с синтаксисом, ее можно поделить на две части

Дальше идет текст, как делалось и зачем, если Вам это не нужно, то можно сразу пойти в библиотеку - https://github.com/dracul-aid и в раздел с детальным описанием и примерами, как это работает - https://github.com/dracul-aid/Php8forPhp7/blob/master/documentation-ru/enums.md

Первая проблема синтаксиса - определение вариантов перечисления, создать оператор мы не можем, но можем подойти творчески, например, определять список вариантов через константу или метод

Вторая проблема синтаксиса - варианты перечислений вызываются как константы, хранящие объекты. Это обойти мы не сможем вообще никак((( До появления "настоящих" перечислений нам придется использовать везде методы, а уже после "переезда" пройтись по этим методам и убрать скобки (тогда вызов методов превратится в вызов констант).

С подсветкой синтаксиса, примеры можно посмотреть на гитхабе в документации к библиотеке: https://github.com/dracul-aid/Php8forPhp7/blob/master/documentation-ru/enums.md

Ну а тут приложу картинку, так как Дзен не умеет работать с кодом

-2