Download the PHP package wakeapp/enumer-bundle without Composer
On this page you can find all versions of the php package wakeapp/enumer-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wakeapp/enumer-bundle
More information about wakeapp/enumer-bundle
Files in wakeapp/enumer-bundle
Package enumer-bundle
Short Description Provides possibility for work with ENUM without reflection usage on the runtime
License MIT
Informations about the package enumer-bundle
Enumer Bundle
Введение
Бандл предоставляет возможность использовать любой класс с константами в качестве ENUM
.
Главной особенностью является уход от работы с рефлексией во время исполнения. Данная оптимизация достигается благодаря сбору всех данных о константах классов на этапе компиляции контейнера.
Установка
Шаг 1: Загрузка бандла
Откройте консоль и, перейдя в директорию проекта, выполните следующую команду для загрузки наиболее подходящей стабильной версии этого бандла:
Эта команда подразумевает что Composer установлен и доступен глобально.
Шаг 2: Подключение бандла
После включите бандл добавив его в список зарегистрированных бандлов в app/AppKernel.php
файл вашего проекта:
Конфигурация
Чтобы начать использовать бандл предварительная конфигурация не требуется и имеет следующее значение по умолчанию:
Использование
Чтобы зарегистрировать класс, содержащий константные значения, и использовать его в качестве enum
- необходимо
добавить реализацию EnumInterface.
Все классы, реализующие EnumInterface, будут доступны для работы с ними в сервисе
wakeapp_enumer.enum_registry
(также сервис доступен при вызове посредством autowire
).
Дополнительно
Ручная регистрация класса с константами
Допустим у нас есть класс из vendor, который содержит константы и нам необходимо его зарегистрировать.
Чтобы зарегистрировать этот класс необходимо добавить его в массив source_classes
:
Лицензия
All versions of enumer-bundle with dependencies
symfony/config Version ~3.4||~4.0||~5.0
symfony/dependency-injection Version ~3.4||~4.0||~5.0
symfony/finder Version ~3.4||~4.0||~5.0
symfony/http-kernel Version ~3.4||~4.0||~5.0
wakeapp/enumer Version ^1.0