Від автора: вітаю вас, друзі. З цієї статті ви дізнаєтеся про одне з ключових компонентом архітектури 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 з діями і навчимося звертатися до нього. На сьогодні у мене все. Більше про фреймворку ви можете дізнатися з наших безкоштовних або платних уроків.