Spec-Zone.ru › Yii 2.0

Класс yii\rest\ActiveController

Все классы | Свойства | Методы | События
Наследование yii\rest\ActiveController » yii\rest\Controller » yii\web\Controller » yii\base\Controller » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\base\ViewContextInterface
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/rest/ActiveController.php

ActiveController реализует общий набор действий для поддержки RESTful доступа к ActiveRecord.

Класс ActiveRecord должен быть указан через $modelClass, который должен реализовывать yii\db\ActiveRecordInterface. По умолчанию поддерживаются следующие действия:

  • index: список моделей
  • view: возвращает подробности модели
  • create: создание новой модели
  • update: обновление существующей модели
  • delete: удаление существующей модели
  • options: возвращает разрешенные HTTP-методы

Вы можете отключить некоторые из этих действий, переопределив actions() и удалив соответствующие действия.

Для добавления нового действия переопределите actions(), добавив новый класс действия, или напишите новый метод действия. Убедитесь, что вы также переопределили verbs(), чтобы правильно объявить, какие HTTP-методы разрешены новым действием.

Обычно необходимо переопределить checkAccess(), чтобы проверить, имеет ли текущий пользователь право выполнить указанное действие над указанной моделью.

Для получения более подробной информации и руководства по использованию ActiveController, см. статью руководства по контроллерам rest.

Публичные свойства

Свойство Тип Описание Определено
$action yii\base\Action Действие, которое в настоящее время выполняется. yii\base\Controller
$actionParams массив Параметры, связанные с текущим действием. yii\web\Controller
$behaviors yii\base\Behavior[] Список присоединенных к этому компоненту поведений yii\base\Component
$createScenario строка Сценарий, используемый для создания модели. yii\rest\ActiveController
$defaultAction строка Идентификатор действия, используемый, когда идентификатор действия не указан в запросе. yii\base\Controller
$enableCsrfValidation логическое значение Включить проверку CSRF для действий в этом контроллере. yii\rest\Controller
$id строка Идентификатор этого контроллера. yii\base\Controller
$layout null|строка|false Имя макета, применяемого к представлениям этого контроллера. yii\base\Controller
$modelClass строка Имя класса модели. yii\rest\ActiveController
$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 контроллера, который предваряется ID модуля (если таковой имеется). yii\base\Controller
$updateScenario строка Сценарий, используемый для обновления модели. yii\rest\ActiveController
$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\rest\ActiveController
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
checkAccess() Проверяет привилегии текущего пользователя. yii\rest\ActiveController
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\rest\ActiveController
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\ActiveController

События

Событие Тип Описание Определено в
EVENT_AFTER_ACTION yii\base\ActionEvent Событие, которое срабатывает сразу после выполнения действия контроллера. yii\base\Controller
EVENT_BEFORE_ACTION yii\base\ActionEvent Событие, которое срабатывает непосредственно перед выполнением действия контроллера. yii\base\Controller

Подробное описание свойств

$createScenario общественное свойство

Сценарий, используемый для создания модели.

См. также yii\base\Model::scenarios().

public string $createScenario = \yii\base\Model::SCENARIO_DEFAULT

$modelClass общественное свойство

Имя класса модели. Это свойство должно быть установлено.

public string $modelClass = null

$updateScenario общественное свойство

Сценарий, используемый для обновления модели.

См. также yii\base\Model::scenarios().

public string $updateScenario = \yii\base\Model::SCENARIO_DEFAULT

Подробное описание методов

actions() общественный метод

Объявляет внешние действия для контроллера.

Этот метод предназначен для переопределения, чтобы объявить внешние действия для контроллера. Он должен возвращать массив, где ключами массива являются идентификаторы действий, а значениями — соответствующие имена классов действий или конфигурационные массивы действий. Например,

return [
    'action1' => 'app\components\Action1',
    'action2' => [
        'class' => 'app\components\Action2',
        'property1' => 'value1',
        'property2' => 'value2',
    ],
];

Yii::createObject() будет использоваться позже для создания запрошенного действия с помощью предоставленной здесь конфигурации.

public void actions ( )

checkAccess() общественный метод

Проверяет привилегии текущего пользователя.

Этот метод должен быть переопределен для проверки, обладает ли текущий пользователь привилегиями для выполнения указанного действия с указанной моделью данных. Если у пользователя нет доступа, должен быть выброшен yii\web\ForbiddenHttpException.

public void checkAccess ( $action, $model = null, $params = [] )
$action string

Идентификатор действия, которое должно быть выполнено

$model object

Модель, к которой осуществляется доступ. Если null, это означает, что к определённой модели нет доступа.

$params array

Дополнительные параметры

throws yii\web\ForbiddenHttpException

если у пользователя нет доступа

init() общественный метод

Инициализирует объект.

Этот метод вызывается в конце конструктора после инициализации объекта заданной конфигурацией.

public void init ( )

verbs() защищенный метод

Объявляет разрешенные HTTP-методы.

Обратитесь к \yii\rest\VerbFilter::actions для получения информации о том, как объявить разрешенные методы.

protected array verbs ( )
return array

Разрешенные HTTP-методы.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-rest-activecontroller.html

Spec-Zone.ru

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