Класс yii\filters\VerbFilter
| Наследование | yii\filters\VerbFilter » yii\base\Behavior » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/filters/VerbFilter.php |
VerbFilter — это фильтр действий, который фильтрует по методам HTTP-запроса.
Он позволяет определять разрешённые методы HTTP-запроса для каждого действия и будет генерировать ошибку HTTP 405, когда метод не разрешён.
Чтобы использовать VerbFilter, объявите его в методе behaviors() вашего класса контроллера. Например, следующие объявления определят типичный набор разрешённых методов запроса для действий REST CRUD.
public function behaviors()
{
return [
'verbs' => [
'class' => \yii\filters\VerbFilter::className(),
'actions' => [
'index' => ['get'],
'view' => ['get'],
'create' => ['get', 'post'],
'update' => ['get', 'put', 'post'],
'delete' => ['post', 'delete'],
],
],
];
}
См. также http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.7.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $actions | массив | Это свойство определяет разрешённые методы запроса для каждого действия. | yii\filters\VerbFilter |
| $owner | yii\base\Component|null | Владелец данного поведения | yii\base\Behavior |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод, который не является методом класса. | yii\base\Object |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| attach() | Прикрепляет объект поведения к компоненту. | yii\base\Behavior |
| beforeAction() | yii\filters\VerbFilter | |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| detach() | Открепляет объект поведения от компонента. | yii\base\Behavior |
| events() | Объявляет обработчики событий для событий $owner. | yii\filters\VerbFilter |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
Подробности свойств
$actions общедоступное свойство
Это свойство определяет разрешённые методы запроса для каждого действия. Для каждого действия, которое должно поддерживать ограниченный набор методов запроса, вы добавляете запись с идентификатором действия в качестве ключа массива и массивом разрешённых методов (например, GET, HEAD, PUT) в качестве значения. Если действие не указано, все методы запроса считаются разрешёнными.
Вы можете использовать '*' для обозначения всех действий. Когда действие явно указано, оно имеет приоритет над указанием, данным '*'.
Например,
[ 'create' => ['get', 'post'], 'update' => ['get', 'put', 'post'], 'delete' => ['post', 'delete'], '*' => ['get'], ]
public array $actions = []
Подробности методов
beforeAction() общедоступный метод
| public boolean beforeAction ( $event ) | ||
|---|---|---|
| $event | yii\base\ActionEvent | |
| throws | yii\web\MethodNotAllowedHttpException |
если метод запроса не разрешён. |
events() общедоступный метод
Объявляет обработчики событий для событий $owner.
| public массив events ( ) | ||
|---|---|---|
| return | массив |
События (ключи массива) и соответствующие методы обработчиков событий (значения массива). |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-filters-verbfilter.html