Yii: контроллеры

Все контроллеры в Yii наследуются от базового класса Controller. Имя контроллера должно соответствовать маске <Name>Controller.

Actions

Action традиционно для MVC — это метод контроллера, который может быть вызван через URL, соответствующий определенному маршруту (route).

Controller может содержать и другие методы, не action’ы. Чтобы отличить action-методы от обычных, имена action-методов должны начинаться с префикса action. В целом имя action-метода должно соответствовать маске  action<Name> (action с маленькой буквы, Name с большой).

В Yii также выделяется понятие action ID: трансформированное в URL имя action’а. Именно по action ID action-метод может быть вызван через URL. Все слова в action ID пишутся с маленькой буквы, через тире, префикс action опускается. Трансформация action ID из URL в имя action-метода происходит по следующим правилам: тире опускаются, каждое новое слово пишется с большой буквы, добавляется префикс action(с маленькой буквы). Например, action ID create-comment соответствует action-методу actionCreateComment.

Action-методы могут принимать параметры. При вызове action-метода через URL его параметры будут автоматически заполнены значениями одноименных параметров get/post запроса.

В конце обработки запроса action-метод как правило обрабатывает представление (view) и возвращает результат этой обработки (а по сути просто вызывает файл представления и передает в него модель). Для обработки запроса используется метод базового класс Controller render():

Первым параметром метод render() принимает имя файла представления (view), а вторым передает в него модель (параметры). Файл представления метод render() ищет по пути views/<ControllerID>/<ViewName>.php

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

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