Yii2: Giiant — шаблоны генератора gii

yii2 giiant шаблоны giiВторая версия php-фреймворка yii, как и первая, включают в себя генератор кода gii. Этот генератор способен создавать рабочие модели, контроллеры и представления для crud (создания, просмотра, изменения и удаления записей) функционала, на основе структуры базы данных, а так же заготовки модулей и контроллеров, дабы помочь разработчику.

Генератор gii специально сделан максимально прозрачным в настройке шаблонов и каждый может изменить стандартные или создать свои шаблоны генерации моделей и контроллеров для избавления от рутинной работы.

К настоящему времени, в открытом доступе находятся несколько пользовательских наборов шаблонов для gii и schmunk42/yii2-giiant — как раз, один из них. Рассмотрим его подробнее.

Giiant способен генерировать модели и crud с поддержкой связей между таблицами данных и сложным интерфейсом. Основной целью этого проекта стало объединение большого количества полезных наработок из других проектов, таких как gtc, giix awecrud и других в одном функциональном расширении.

Главные особенности

Генератор моделей

  • создает базовый класс модели и класс для кастомизации модели;
  • префиксы таблиц могут быть исключены из имен классов (не зависит от настроек подключения к базе данных);

Генератор crud

  • файлы моделей, представлений и контроллеров могут быть расположены в подкаталогах;
  • горизонтальная и вертикальная разметки форм;
  • настраиваемый класс кнопок (параметр App Class в разделе Action Button Class);
  • поля ввода, атрибуты, количество столбцов и связи легко настраиваются;
  • функция callback может быть встроена во все виды полей ввода, атрибутов и столбцов (использована технология dependency injection);

Провайдеры

  • CallbackProvider — универсальный провайдер, позволяющий модифицировать поля ввода, атрибуты или столбцы с использованием гибких callback функций;
  • RelationProvider — создает код для обработки связей данных ( ссылки, выпадающие списки и так далее;
  • EditorProvider — создает продвинутый текстовый редактор, вроде Ckeditor, в качестве виджета для ввода текста;
  • DateTimeProvider — создает поля ввода даты и времени.

Как использовать новые шаблоны gii

Достаточно подключить новый генератор в настройках модуля gii:

Использование провайдеров для кастомизации

Часто бывает необходимо изменить обычное поведение, например, поля ввода под нужды проекта. Например расширенное редактирование, загрузка или выбор файлов, ввод сложного значения с запросом его в модальном окне, получение данных через ajax.

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

Подробнее о генераторе кода giiant для yii2 читайте на его хабе.

1 thought on “Yii2: Giiant — шаблоны генератора gii

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *