Yii2 Gii — генерування коду

19

Від автора: вітаю вас, друзі. Ми продовжуємо цикл статей, присвячених знайомству з фреймворком Yii2. У цій статті ми познайомимося з цікавим інструментом фреймворку Yii2 Gii. Даний інструмент призначений для генерування типового коду CRUD програми. Почнемо.

При створенні будь-якого додатка нам так чи інакше доводиться писати один і той же код, який цілком можна охарактеризувати терміном типової код. Простий приклад. На нашому сайті є статті і новини. Для їх вибірки і виведення на сторінку по суті потрібен однаковий код, який буде відрізнятися лише найменуванням таблиць в БД і, можливо, полів в них. Те ж саме стосується подальшого редагування, додавання і видалення статей і новин. Все це аналогічні операції, для яких потрібно типової код.

Щоб полегшити нам завдання, сучасні фреймворки пропонують нам інструменти для генерування такого коду. У фреймворку Yii2 таким інструментом є Gii. Це ніщо інше, як модуль, який ми можемо налаштувати в конфігурації фреймворку, конкретніше, у файлі config\web.php:

Yii2 Gii — генерування коду

У даній конфігурації встановлюється включення модуля Gii в режимі розробки. Давайте спробує відкрити даний модуль. Для цього нам необхідно звернутися за адресою: http://yii2/gii (якщо на сайті налаштовані ЧПУ) або ж http://yii2/index.php?r=gii (якщо ЧПУ не налаштовані).

Yii2 Gii — генерування коду

Отже, ми потрапили на сторінку модуля. Як бачимо, тут ми можемо виконувати цілий ряд операцій: створити модель, контролер та види (додаток CRUD), можемо генерувати форми, модулі і розширення. Дуже зручний інструмент, який допоможе в лічені хвилини згенерувати типове додаток.

Давайте випробуємо його. У нас є таблиця статей post, давайте створимо CRUD додаток для роботи з постами. Для початку я видалю з нашого додатка контролер PostController, модель Post і папку видів post. Все це нам згенерує генератора коду. Для початку створимо модель в блоці Model Generator.

Тут нам достатньо лише почати вводити ім’я таблиці, з якої буде працювати ця модель. Yii при початку введення відразу ж підкаже нам ім’я можливої таблиці. Після цього клікаєм по полю Model Class і фреймворк сам підставить потрібне ім’я класу моделі — Post.

Yii2 Gii — генерування коду

Нам залишається натиснути кнопку Preview і на наступній сторінці натиснути кнопку Generate.

Yii2 Gii — генерування коду

Після цього файл моделі повинен з’явитися в папці models вашого додатка. В ньому ви знайдете згенерований код моделі. Тепер перейдемо до генерування CRUD програми, вибравши пункт меню CRUD Generator. Тут ми вкажемо клас моделі і контролера, цього поки буде цілком достатньо.

Yii2 Gii — генерування коду

Після цього тиснемо кнопку Preview і на новій сторінці кнопку Generate.

Yii2 Gii — генерування коду

У папці controllers у вас повинен з’явитися файл контролера PostController, а в папці уявлень — папка post, в якій знаходяться згенеровані види. Тепер наш додаток для роботи з постами буде володіти всіма необхідними функціями для роботи CRUD програми: створення, перегляду, редагування і видалення постів. Звичайно, все це, швидше за все, доведеться коригувати під ваші потреби, але тим не менш, завдяки генератору ми за лічені хвилини отримали робоче типове додаток.

На цьому поки все. Більше про фреймворку ви можете дізнатися з наших безкоштовних або платних уроків. Також створення найпростішого блогу на Yii2 можна подивитися в цьому циклі уроків.