От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой статье мы познакомимся с интересным инструментом фреймворка Yii2 Gii. Данный инструмент предназначен для генерирования типового кода CRUD приложения. Начнем.
При создании любого приложения нам так или иначе приходится писать один и тот же код, который вполне можно охарактеризовать термином типовой код. Простой пример. На нашем сайте есть статьи и новости. Для их выборки и вывода на страницу по сути нужен одинаковый код, который будет отличаться лишь наименованием таблиц в БД и, возможно, полей в них. То же самое касается дальнейшего редактирования, добавления и удаления статей и новостей. Все это аналогичные операции, для которых потребуется типовой код.
Чтобы облегчить нам задачу, современные фреймворки предлагают нам инструменты для генерирования такого кода. Во фреймворке Yii2 таким инструментом является Gii. Это ничто иное, как модуль, который мы можем настроить в конфигурации фреймворка, конкретнее, в файле config\web.php:
В данной конфигурации устанавливается включение модуля Gii в режиме разработки. Давайте попробует открыть данный модуль. Для этого нам необходимо обратиться по следующему адресу: //yii2/gii (если на сайте настроены ЧПУ) или же //yii2/index.php?r=gii (если ЧПУ не настроены).
Итак, мы попали на страницу модуля. Как видим, здесь мы можем выполнять целый ряд операций: создать модель, контроллер и виды (приложение CRUD), можем генерировать формы, модули и расширения. Очень удобный инструмент, который поможет в считанные минуты сгенерировать типовое приложение.
Давайте испытаем его. У нас есть таблица статей post, давайте создадим CRUD приложение для работы с постами. Для начала я удалю из нашего приложения контроллер PostController, модель Post и папку видов post. Все это нам сгенерирует генератора кода. Для начала создадим модель в блоке Model Generator.
Здесь нам достаточно лишь начать вводить имя таблицы, с которой будет работать данная модель. Yii при начале ввода сразу же подскажет нам имя возможной таблицы. После этого кликаем по полю Model Class и фреймворк сам подставит нужное имя класса модели — Post.
Нам остается нажать кнопку Preview и на следующей странице нажать кнопку Generate.
После этого файл модели должен появиться в папке models вашего приложения. В нем вы найдете сгенерированный код модели. Теперь перейдем к генерированию CRUD приложения, выбрав в меню пункт CRUD Generator. Здесь мы укажем класс модели и контроллера, этого пока будет вполне достаточно.
После этого жмем кнопку Preview и на новой странице кнопку Generate.
В папке controllers у вас должен появиться файл контроллера PostController, а в папке представлений — папка post, в которой находятся сгенерированные виды. Теперь наше приложение для работы с постами будет располагать всем необходимыми функциями для работы CRUD приложения: создание, показ, редактирования и удаление постов. Конечно, все это, скорее всего, придется корректировать под ваши нужды, но тем не менее, благодаря генератору мы за считанные минуты получили рабочее типовое приложение.
На этом пока все. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков. Также создание простейшего блога на Yii2 можно посмотреть в этом цикле уроков.