Spec-Zone.ru › Yii 2.0

Класс 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:

  1. Определение формата ответа (см. yii\filters\ContentNegotiator);
  2. Валидация метода запроса (см. verbs()).
  3. Авторизация пользователя (см. yii\filters\auth\AuthInterface);
  4. Ограничение скорости запросов (см. yii\filters\RateLimiter);
  5. Форматирование данных ответа (см. 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API