Класс yii\rest\Controller
| Наследование | yii\rest\Controller » yii\web\Controller » yii\base\Controller » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface |
| Подклассы | yii\rest\ActiveController |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/rest/Controller.php |
Controller — базовый класс для контроллеров RESTful API.
Контроллер выполняет следующие шаги в цикле обработки запроса RESTful API:
- Определение формата ответа (см. yii\filters\ContentNegotiator);
- Валидация метода запроса (см. verbs()).
- Авторизация пользователя (см. yii\filters\auth\AuthInterface);
- Ограничение скорости запросов (см. yii\filters\RateLimiter);
- Форматирование данных ответа (см. serializeData()).
Для получения более подробной информации и инструкций по использованию Controller, обратитесь к статье руководства по контроллерам REST.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $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\rest\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 |
| $serializer | строка|массив | Конфигурация для создания сериализатора, который форматирует данные ответа. | yii\rest\Controller |
| $uniqueId | строка | Идентификатор контроллера, дополненный ID модуля (если применимо). | 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\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| actions() | Объявляет внешние действия для контроллера. | yii\base\Controller |
| afterAction() | Этот метод вызывается сразу после выполнения действия. | yii\rest\Controller |
| asJson() | Отправляет данные в формате JSON. | yii\web\Controller |
| asXml() | Отправляет данные в формате XML. | yii\web\Controller |
| attachBehavior() | Прикрепляет поведение к данному компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| beforeAction() | Этот метод вызывается непосредственно перед выполнением действия. | yii\base\Controller |
| behaviors() | Возвращает список поведений, в соответствии с которыми должен вести себя данный компонент. | yii\rest\Controller |
| bindActionParams() | Связывает параметры с действием. | yii\base\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 |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| serializeData() | Сериализует указанные данные. | yii\rest\Controller |
| verbs() | Объявляет разрешенные HTTP-глаголы. | yii\rest\Controller |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_ACTION | yii\base\ActionEvent | Событие, срабатывающее сразу после выполнения действия контроллера. | yii\base\Controller |
| EVENT_BEFORE_ACTION | yii\base\ActionEvent | Событие, срабатывающее непосредственно перед выполнением действия контроллера. | yii\base\Controller |
Подробное описание свойств
$enableCsrfValidation общедоступное свойство
Включает или выключает проверку CSRF для действий в этом контроллере. Проверка CSRF включена только тогда, когда это свойство и yii\web\Request::$enableCsrfValidation установлены в true.
public boolean $enableCsrfValidation = false
$serializer общедоступное свойство
Конфигурация для создания сериализатора, который форматирует данные ответа.
public string|array $serializer = 'yii\rest\Serializer'
Подробное описание методов
afterAction() общедоступный метод
Этот метод вызывается сразу после выполнения действия.
Метод инициирует событие EVENT_AFTER_ACTION. Возвращаемое значение метода будет использовано в качестве значения возврата действия.
Если вы переопределяете этот метод, ваш код должен выглядеть следующим образом:
public function afterAction($action, $result)
{
$result = parent::afterAction($action, $result);
// your custom code here
return $result;
}
| public mixed afterAction ( $action, $result ) | ||
|---|---|---|
| $action | yii\base\Action |
Выполненное действие. |
| $result | mixed |
Результат возврата действия. |
| return | mixed |
Обработанный результат действия. |
behaviors() общедоступный метод
Возвращает список поведений, которые должен демонстрировать этот компонент.
Подклассы могут переопределять этот метод для указания необходимых поведений.
Возвращаемое значение этого метода должно быть массивом объектов поведения или конфигураций, индексированных по именам поведения. Конфигурация поведения может быть либо строкой, указывающей класс поведения, либо массивом следующей структуры:
'behaviorName' => [
'class' => 'BehaviorClass',
'property1' => 'value1',
'property2' => 'value2',
]
Обратите внимание, что класс поведения должен расширять \yii\rest\Behavior. Поведения могут быть присоединены с помощью имени или анонимно. При использовании имени в качестве ключа массива, это имя может быть использовано для последующего получения поведения с помощью getBehavior() или для его отсоединения с помощью detachBehavior(). Анонимные поведения получить или отсоединить нельзя.
Поведения, объявленные в этом методе, будут автоматически присоединены к компоненту (по запросу).
| public массив behaviors ( ) | ||
|---|---|---|
| return | массив |
Конфигурации поведения. |
serializeData() защищенный метод
Сериализует указанные данные.
Стандартная реализация создаст сериализатор на основе конфигурации, предоставленной $serializer. Затем она использует сериализатор для сериализации заданных данных.
| защищенный mixed serializeData ( $data ) | ||
|---|---|---|
| $data | mixed |
Данные для сериализации |
| return | mixed |
Сериализованные данные. |
verbs() защищенный метод
Объявляет разрешенные HTTP-глаголы.
Обратитесь к yii\filters\VerbFilter::$actions для получения информации о том, как объявить разрешенные глаголы.
| защищенный массив verbs ( ) | ||
|---|---|---|
| return | массив |
Разрешенные HTTP-глаголы. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-rest-controller.html