Контроллеры в Yii2. Часть 2

Контроллеры в Yii2

От автора: приветствую вас, друзья. В этой статье мы продолжим знакомиться с понятием контроллеры в Yii2. Из статьи мы узнаем, как создать свой первый контроллер, как его вызвать и как изменить controller по умолчанию.

Итак, в предыдущей статье мы с вами затронули теоретические моменты данного понятия. В частности, мы узнали, каким может быть его название, взглянули на controller по умолчанию — SiteController, а также затронули понятие действий (action).

Теперь давайте перейдем к более практическим вопросам и попробуем создать свой первый controller. Напомню, он должен находиться в папке controllers, там мы его и создадим. Пусть это будет тестовый класс, который я назову согласно правил именования фреймворка — TestController:

<?php

namespace app\controllers;

use yii\web\Controller;

class TestController extends Controller
{

}

Контроллеры в Yii2

Отлично! Как вы помните, созданный класс должен наследовать yii\web\Controller. Идем дальше. Следующим шагом будет создание первого действия (action), которое будет отвечать за работу со страницей в браузере. Давайте создадим пару экшенов: первое назовем actionIndex, второе — actionPage.

public function actionIndex()
{
    echo __METHOD__;
}

public function actionPage()
{
    echo __METHOD__;
}

Контроллеры в Yii2

Пока все просто. А как теперь вызвать контроллер и нужный action. В Yii вызов класса и действия происходит следующим образом: в адресной строке браузера мы просто должны указать название класса без слова Controller и действия без слова action. Все это нужно указать по умолчанию так: http://yii2/web/index.php?r=test/page — так мы вызовем TestController и его действие actionPage.

Контроллеры в Yii2

Соответственно, если мы хотим обратиться к другому действию — actionIndex — нам просто нужно указать нужное название действия: http://yii2/web/index.php?r=test/index. К слову, добиться того же результата можно и по такому адресу — http://yii2/web/index.php?r=test. Так возможно, потому что по умолчанию, если мы не указываем название действия, тогда фреймворк будет вызывать actionIndex.

Ну и, наконец, последний момент, которого мы коснемся, это установка контроллера по умолчанию. Напоминаю, сейчас таковым является SiteController. Сделать это можно через файл конфигурации — config\web.php. Добавим в этот файл настройку defaultRoute со значением вида controller/action. Например, сделаем таковым по умолчанию TestController и действием по умолчанию actionPage:

'defaultRoute' => 'test/page',

Контроллеры в Yii2

На этом мы, пожалуй, остановимся. Пока что наши страницы выглядят не очень презентабельно, но в следующих статьях мы узнаем, как это поправить. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков.

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Фреймворк YII2: теория и первая практика

Овладейте азами фреймворка Yii2 за 5 дней!

Получить

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree