Class yii\filters\VerbFilter

继承yii\filters\VerbFilter » yii\base\Behavior » yii\base\BaseObject
实现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'],
            ],
        ],
    ];
}

参见 https://tools.ietf.org/html/rfc2616#section-14.7.

公共属性

隐藏继承的属性

属性类型描述定义在
$actions array 此属性定义每个动作允许的请求方法. yii\filters\VerbFilter
$owner yii\base\Component|null 该行为的所有者. yii\base\Behavior

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的已命名方法. yii\base\BaseObject
__construct() 构造函数. yii\base\BaseObject
__get() 返回对象属性的值. yii\base\BaseObject
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\BaseObject
__set() 设置对象属性的值. yii\base\BaseObject
__unset() 将对象属性设置为null. yii\base\BaseObject
attach() 将行为对象附加到组件. yii\base\Behavior
beforeAction() yii\filters\VerbFilter
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
className() 返回此类的完全限定名称. yii\base\BaseObject
detach() 从组件中分离行为对象. yii\base\Behavior
events() 声明 所有者 事件的事件处理程序. yii\filters\VerbFilter
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化对象. yii\base\BaseObject

属性详情

$actions public 属性

此属性定义每个动作允许的请求方法.

对于仅应支持有限的请求方法集的每个动作, 请添加一个条目, 其中动作ID作为数组的键, 允许的方法数组(eg. GET, HEAD, PUT)作为数组的值.

如果未列出某项动作, 则认为所有请求方法都是允许的.

你可以使用'*'代表所有动作. 当明确指定一个动作时, 它优先于由'*'给出的规范.

例如:

[
  'create' => ['GET', 'POST'],
  'update' => ['GET', 'PUT', 'POST'],
  'delete' => ['POST', 'DELETE'],
  '*' => ['GET'],
]
public array $actions = []

方法详情

beforeAction() public 方法

public boolean beforeAction ( $event )
$event yii\base\ActionEvent
throws yii\web\MethodNotAllowedHttpException

当请求方法不被允许时.

events() public 方法

声明 所有者 事件的事件处理程序.

public array events ( )
return array

事件(数组键)和相应的事件处理程序方法(数组值).