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

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

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

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

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

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

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

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

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

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

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

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

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

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

Метки:

Похожие статьи:

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