Download the PHP package wakeapp/dbal-enum-type without Composer
On this page you can find all versions of the php package wakeapp/dbal-enum-type. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package dbal-enum-type
DBAL Enum Type
Введение
Компонент предоставляет базовую функциональность для регистрации нового типа данных ENUM
в Doctrine
.
Таже поддерживается механизм doctrine:schema:update
для ENUM
'ов.
Важно: чтобы реализация поддержки ENUM
'ов в команде doctrine:schema:update
работала корректно
не указывайте движок базы данных:
- Работает корректно -
//user:pa$$word@host:3306/db_name
- Работать не будет -
mysql://user:pa$$word@host:3306/db_name
Установка
Откройте консоль и, перейдя в директорию проекта, выполните следующую команду для загрузки наиболее подходящей стабильной версии этого компонента:
Эта команда подразумевает что Composer установлен и доступен глобально.
Пример использования
В качестве примера рассмотрим перечисление языков. Для начала нам необходимо создать класс со списком доступных языков:
Для регистрации нашего перечисления как новый тип данных Doctrine
необходимо создать еще один класс:
Создав необходимые классы остается только зарегистрировать их в Doctrine DBAL
.
Для регистрации нового ENUM
-типа воспользуйтесь официальной документацией Doctrine
Custom Mapping Types.
Если вы используете Symfony
, то воспользуйтесь соответствующим разделом документации -
How to Use Doctrine DBAL.
Для начала необходимо зарегистрировать новый глобальный тип данных enum
:
Далее необходимо установить доступный конкретный вид перечислений в виде списка языков.
Сделать это возможно двумя способами. Первый, классический, через добавление в конфигурационный файл Doctrine
:
Второй способ подойдет если вы используете отдельный бандл. Регистрация происходит через метод boot
:
Дополнительно
Использование вместе с Symfony
В случае использования Symfony Framework
необходимо зарегистрировать класс EnumEventSubscriber
как сервис
с тегом doctrine.event_subscriber
:
А также указать driver_class
в конфигурации doctrine/doctrine-bundle
:
Переопределение значений Enum
При необходимости переопределить список значений enum
,
определенных на основе констант класса из метода getEnumClass
вы можете вызвать метод setValues
.