От автора: приветствую вас, друзья. Из этой статьи вы узнаете об одном из ключевых компонентом архитектуры MVC — это контроллеры в Yii2 — та основа, с которой необходимо начинать изучение фреймворка, поскольку без них мы не сможем создать ни одной страницы. Итак, приступим.
Как вы помните из предыдущей статьи, контроллеры являются одним из звеньев цепи жизненного цикла приложения Yii2. Понятие Controller является ключевым понятием паттерна MVC. Именно controller принимает запрос пользователя и является посредником между двумя другими компонентами в архитектуре MVC: видом и моделью. Задача его заключается в запросе данных из модели и передаче их в вид, который должен быть вызван.
Как видим, данное звено занимает действительно ключевую позицию в архитектуре MVC. Говоря простыми словами, можно привести следующую понятную аналогию из жизни. Контроллер — это продавец в магазине. Продавец достает товар с полки (данные из модели), красиво его упаковывает (отдает данные в вид) и предоставляет покупателю. Надеюсь, аналогия понятна.
В Yii2 controller по умолчанию это SiteController. Расположен он в папке controllers. Все контроллеры должны наследовать класс yii\web\Controller, который в свою очередь наследует базовый контроллер — \yii\base\Controller.
Теперь несколько слов о правилах именования. Здесь стоит запомнить следующие моменты:
после названия должно следовать слово Controller, например: SiteController, TestController;
Каждое слово в названии должно начинаться с буквы верхнего регистра, например: PostController, ArticleCommentController.
Внутри класса мы можем создавать действия или экшены (action). Каждое действие отвечает за свою страницу или группу однотипных страниц. Относительно названий действий, то здесь действуют следующие простое правило: название действия должно быть с большой буквы и перед ним должно идти слово action. Например: actionIndex, actionView.
Собственно, это основные теоретические моменты, которые вам нужно знать для начала о ключевом звене MVC выбранного фреймворка. В следующей статье мы с вами создадим свой первый controller с действиями и научимся обращаться к нему. На сегодня у меня все. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков.