Yii2: Модулі

2

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

Отже, як вже зазначалося вище, в модулі – це по суті програми в додатку. Це означає, що модуль може мати свої контролери, моделі, подання та інші компоненти, як і основне додаток.

Якщо ви захочете пройти процедуру ручного створення модуля з нуля, тоді пропоную вам звернутися до відповідного розділу документації по фреймворку. Ми ж у статті скористаємося куди більш простим і, головне, швидким способом, яким і прийнято користуватися на практиці. Цей спосіб полягає у використанні генератора коду – модуля Gii. Як ви пам’ятаєте, серед іншого, Gii може генерувати код модуля.

Yii2: Модулі

Натиснемо кнопку Start блоку Module Generator і перейдемо на сторінку створення модуля, де заповнимо форму з двох полів. У формі вкажемо клас модуля і його ID.

Yii2: Модулі

Далі, як зазвичай, тиснемо кнопку Preview і на наступній сторінці кнопку Generate. На новій сторінці нам повідомляють про успішне створення модуля і пропонують скопіювати блок коду і вставити його в файл config\web.php даний блок коду включить створений фреймворком модуль адмінки.

Yii2: Модулі

Відкриємо файл конфігурації веб-додатки та вставимо у нього пропонований код.

‘modules’ => [
‘admin’ => [
‘class’ => ‘app\modules\admin\Module’,
],
],

Yii2: Модулі

До речі, створений модуль знаходиться в папці modules, яка повинна з’явитися в корені додатки Yii.

Yii2: Модулі

В даній папці дублюється структура програми Yii, тобто вже є папка controllers з контролерами, папка views з уявленнями. Також ми можемо створити папку models, в якій будуть зберігатися моделі модуля. Загалом, як я і говорив вище, модуль – це додаток в додатку, закінчений програмний блок.

У папці контролерів модуля вже створено дефолтний контролер DefaultController, який ми можемо протестувати. Для цього достатньо набрати URL-адресу нашого модуля — http://yii.loc/admin/.

Yii2: Модулі

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