Класс yii\web\Controller
| Наследование | yii\web\Controller » yii\base\Controller » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface |
| Подклассы | yii\debug\controllers\DefaultController, yii\debug\controllers\UserController, yii\gii\controllers\DefaultController, yii\rest\ActiveController, yii\rest\Controller |
| Доступен с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/web/Controller.php |
Controller — базовый класс веб-контроллеров.
Для получения более подробной информации и использования Controller, обратитесь к статье руководства по контроллерам.
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $action | yii\base\Action | Действие, которое в настоящее время выполняется. | yii\base\Controller |
| $actionParams | массив | Параметры, связанные с текущим действием. | yii\web\Controller |
| $behaviors | yii\base\Behavior[] | Список поведений, прикрепленных к этому компоненту | yii\base\Component |
| $defaultAction | строка | Идентификатор действия, используемый, когда идентификатор действия не указан в запросе. | yii\base\Controller |
| $enableCsrfValidation | булево | Включить проверку CSRF для действий в этом контроллере. | yii\web\Controller |
| $id | строка | Идентификатор этого контроллера. | yii\base\Controller |
| $layout | null|строка|false | Имя макета, применяемого к представлениям этого контроллера. | yii\base\Controller |
| $module | yii\base\Module | Модуль, к которому принадлежит этот контроллер. | yii\base\Controller |
| $modules | yii\base\Module[] | Все родительские модули, в которых находится этот контроллер. | yii\base\Controller |
| $route | строка | Маршрут (ID модуля, ID контроллера и ID действия) текущего запроса. | yii\base\Controller |
| $uniqueId | строка | Идентификатор контроллера, префикс которого — идентификатор модуля (если таковой имеется). | yii\base\Controller |
| $view | yii\base\View|yii\web\View | Объект представления, который можно использовать для отображения представлений или файлов представлений. | yii\base\Controller |
| $viewPath | строка | Директория, содержащая файлы представлений для этого контроллера. | yii\base\Controller |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с указанным именем, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | yii\base\Controller | |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| actions() | Объявляет внешние действия для контроллера. | yii\base\Controller |
| afterAction() | Этот метод вызывается сразу после выполнения действия. | yii\base\Controller |
| asJson() | Отправляет данные в формате JSON. | yii\web\Controller |
| asXml() | Отправляет данные в формате XML. | yii\web\Controller |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| beforeAction() | Этот метод вызывается непосредственно перед выполнением действия. | yii\web\Controller |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| bindActionParams() | Связывает параметры с действием. | yii\web\Controller |
| canGetProperty() | Возвращает значение, указывающее, может ли свойство быть прочитано. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, может ли свойство быть установлено. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| createAction() | Создаёт действие на основе данного идентификатора действия. | yii\base\Controller |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| findLayoutFile() | Находит соответствующий файл макета. | yii\base\Controller |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| getModules() | Возвращает все родительские модули этого контроллера. | yii\base\Controller |
| getRoute() | Возвращает маршрут текущего запроса. | yii\base\Controller |
| getUniqueId() | Возвращает уникальный идентификатор контроллера. | yii\base\Controller |
| getView() | Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представлений. | yii\base\Controller |
| getViewPath() | Возвращает каталог, содержащий файлы представлений для этого контроллера. | yii\base\Controller |
| goBack() | Перенаправляет браузер на последнюю посещённую страницу. | yii\web\Controller |
| goHome() | Перенаправляет браузер на главную страницу. | yii\web\Controller |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| redirect() | Перенаправляет браузер на указанный URL. | yii\web\Controller |
| refresh() | Обновляет текущую страницу. | yii\web\Controller |
| render() | Рендерит представление и применяет макет, если он доступен. | yii\base\Controller |
| renderAjax() | Рендерит представление в ответ на AJAX-запрос. | yii\web\Controller |
| renderContent() | Рендерит статическую строку, применяя макет. | yii\base\Controller |
| renderFile() | Рендерит файл представления. | yii\base\Controller |
| renderPartial() | Рендерит представление без применения макета. | yii\base\Controller |
| run() | Выполняет запрос, указанный в терминах маршрута. | yii\base\Controller |
| runAction() | Выполняет действие внутри этого контроллера с указанным идентификатором действия и параметрами. | yii\base\Controller |
| setView() | Устанавливает объект представления, который будет использоваться этим контроллером. | yii\base\Controller |
| setViewPath() | Устанавливает каталог, содержащий файлы представлений. | yii\base\Controller |
| trigger() | Вызывает событие. | yii\base\Component |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_ACTION | yii\base\ActionEvent | Событие, поднимаемое сразу после выполнения действия контроллера. | yii\base\Controller |
| EVENT_BEFORE_ACTION | yii\base\ActionEvent | Событие, поднимаемое сразу перед выполнением действия контроллера. | yii\base\Controller |
Подробное описание свойств
$actionParams общедоступное свойство
Параметры, связанные с текущим действием.
public array $actionParams = []
$enableCsrfValidation общедоступное свойство
Включить ли проверку CSRF для действий в этом контроллере. Проверка CSRF включена только если это свойство и yii\web\Request::$enableCsrfValidation оба имеют значение true.
public boolean $enableCsrfValidation = true
Подробное описание методов
asJson() общедоступный метод (доступен с версии 2.0.11)
Отправка данных в формате JSON.
Этот метод является сокращением для отправки данных в формате JSON. Он вернёт компонент приложения response после настройки формата format и установки данных data, которые должны быть отформатированы. Типичное использование:
return $this->asJson($data);
См. также:
| общедоступный yii\web\Response asJson ( $data ) | ||
|---|---|---|
| $data | mixed |
Данные, которые должны быть отформатированы. |
| return | yii\web\Response |
Ответ, настроенный на отправку |
asXml() общедоступный метод (доступен с версии 2.0.11)
Отправка данных в формате XML.
Этот метод является сокращением для отправки данных в формате XML. Он вернёт компонент приложения response после настройки формата format и установки данных data, которые должны быть отформатированы. Типичное использование:
return $this->asXml($data);
См. также:
| общедоступный yii\web\Response asXml ( $data ) | ||
|---|---|---|
| $data | mixed |
Данные, которые должны быть отформатированы. |
| return | yii\web\Response |
Ответ, настроенный на отправку |
beforeAction() общедоступный метод
Этот метод вызывается непосредственно перед выполнением действия.
Метод вызовет событие EVENT_BEFORE_ACTION. Возвращаемое значение метода определит, должно ли действие продолжить выполнение.
В случае, если действие не должно выполняться, обработка запроса должна быть выполнена внутри beforeAction кода путём предоставления необходимых вывода или перенаправления запроса. В противном случае ответ будет пустым.
Если вы переопределяете этот метод, ваш код должен выглядеть следующим образом:
public function beforeAction($action)
{
// your custom code here, if you want the code to run before action filters,
// which are triggered on the [[EVENT_BEFORE_ACTION]] event, e.g. PageCache or AccessControl
if (!parent::beforeAction($action)) {
return false;
}
// other custom code here
return true; // or false to not run the action
}
| общедоступный boolean beforeAction ( $action ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, которое должно быть выполнено. |
| return | boolean |
Должно ли действие продолжить выполнение. |
bindActionParams() общедоступный метод
Связывает параметры с действием.
Этот метод вызывается yii\base\Action при запуске с заданными параметрами. Этот метод проверяет имена параметров, необходимые действию, и возвращает предоставленные параметры в соответствии с требованиями. Если какой-либо параметр отсутствует, будет выброшено исключение.
| общедоступный массив bindActionParams ( $action, $params ) | ||
|---|---|---|
| $action | yii\base\Action |
Действие, с которым должны быть связаны параметры |
| $params | массив |
Параметры, которые должны быть связаны с действием |
| return | массив |
Допустимые параметры, с которыми действие может быть запущено. |
| throws | yii\web\BadRequestHttpException |
если параметры отсутствуют или неверны. |
goBack() общедоступный метод
Перенаправляет браузер на последнюю посещённую страницу.
Вы можете использовать этот метод в действии, возвращая yii\web\Response напрямую:
// stop executing this action and redirect to last visited page return $this->goBack();
Для работы этой функции необходимо предварительно установить URL возврата в соответствующих местах.
См. также yii\web\User::getReturnUrl().
| общедоступный yii\web\Response goBack ( $defaultUrl = null ) | ||
|---|---|---|
| $defaultUrl | строка|массив |
URL по умолчанию для возврата в случае его предыдущего отсутствия. Если это null и URL возврата не был установлен ранее, будет перенаправлено на yii\web\Application::$homeUrl. Обратитесь к yii\web\User::setReturnUrl() для информации о принятом формате URL. |
| return | yii\web\Response |
Текущий объект ответа |
goHome() общедоступный метод
Перенаправляет браузер на главную страницу.
Вы можете использовать этот метод в действии, возвращая yii\web\Response напрямую:
// stop executing this action and redirect to home page return $this->goHome();
| общедоступный yii\web\Response goHome ( ) | ||
|---|---|---|
| return | yii\web\Response |
Текущий объект ответа |
redirect() общедоступный метод
Перенаправляет браузер на указанный URL.
Этот метод является сокращением для yii\web\Response::redirect().
Вы можете использовать его в действии, возвращая yii\web\Response напрямую:
// stop executing this action and redirect to login page return $this->redirect(['login']);
| общедоступный yii\web\Response redirect ( $url, $statusCode = 302 ) | ||
|---|---|---|
| $url | строка|массив |
URL для перенаправления. Может быть в одном из следующих форматов:
Любой относительный URL, начинающийся с одиночного слэша "/", будет преобразован в абсолютный, добавив к нему информацию о хосте текущего запроса. |
| $statusCode | целое число |
Код HTTP-статуса. По умолчанию 302. См. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html для получения подробной информации о кодах HTTP-статуса |
| return | yii\web\Response |
Текущий объект ответа |
refresh() общедоступный метод
Обновляет текущую страницу.
Этот метод является сокращением для yii\web\Response::refresh().
Вы можете использовать его в действии, возвращая yii\web\Response напрямую:
// stop executing this action and refresh the current page return $this->refresh();
| общедоступный yii\web\Response refresh ( $anchor = '' ) | ||
|---|---|---|
| $anchor | строка |
Якорная ссылка, которая должна быть добавлена к URL перенаправления. По умолчанию пустая. Убедитесь, что якорная ссылка начинается с '#' если вы хотите её указать. |
| return | yii\web\Response |
Объект ответа |
renderAjax() общедоступный метод
Отображает представление в ответ на AJAX-запрос.
Этот метод похож на renderPartial(), за исключением того, что он вставляет в результат рендеринга JS/CSS скрипты и файлы, зарегистрированные в представлении. По этой причине вы должны использовать этот метод вместо renderPartial() для отображения представления в ответ на AJAX-запрос.
| общедоступный строка renderAjax ( $view, $params = [] ) | ||
|---|---|---|
| $view | строка |
Имя представления. Обратитесь к render() для информации о том, как указать имя представления. |
| $params | массив |
Параметры (имя-значение), которые должны быть доступны в представлении. |
| return | строка |
Результат рендеринга. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-web-controller.html