Yii2 адмінка

323

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

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

Отже, як ви пам’ятаєте, контролери додатки Yii лежать в папці controllers і доступ до них здійснюється при вказівці в URL імені контролера. Наприклад, щоб звернутися до дії actionIndex контролера SiteController, нам достатньо вказати адресу http://yii.loc/site/index.

Однак фреймворк допускає класти контролери не тільки в корінь папки controllers, але і всередину вкладених у controllers папок. Такі контролери будуть називатися вкладеними. При цьому для того, щоб викликати такий контролер, нам потрібно буде додатково вказати в URL його назва папки.

Це якраз і підводить нас до думки про створення адмінки, використовуючи можливості вкладених контролерів. Давайте в папці controllers створимо, наприклад, папку admin і покладемо в неї тестовий контролер.

namespace app\controllers\admin;
use yii\web\Controller;
class TestController extends Controller
{
public function actionIndex(){
return ‘ADMIN’;
}
}

Yii2 адмінка

Тепер при зверненні до першого контролера написаної адмінки Yii2 за адресою http://yii.loc/admin/test ми побачимо в браузері висновок рядка ADMIN.

Yii2 адмінка

А як тепер підключити вигляд до створюваного варіанту адмінки? Думаю, ви вже могли здогадатися. У папці views ми просто створимо папку admin, усередині якої в свою чергу створимо папку test по імені контролера з файлом index по імені екшену. Ну а в дії, як зазвичай, викличемо метод render.

public function actionIndex(){
return $this->render(‘index’);
}

Yii2 адмінка

У підсумку на сторінці ми побачимо вміст тільки що створеного для написаної адмінки подання.

Yii2 адмінка

Ось, власне, і все, що я хотів показати вам в цій статті. Це один із способів написання адміністраторської частини в Yii2. Повторюся, цей варіант написання адмінки використовується досить рідко, але, тим не менш, знати його вам слід. У наступній статті ми розглянемо інший варіант створення адмінки – модульний варіант.

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