没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Class yii\filters\VerbFilter

继承yii\filters\VerbFilter » yii\base\Behavior » yii\base\BaseObject
实现yii\base\Configurable
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/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 此属性为每个操作定义允许的请求方法。 对于应该只支持有限的请求方法集的每个操作 您添加一个条目,其中操作 id 作为数组键 允许的方法数组(例如 GET, HEAD, PUT)作为值。 如果未列出操作则认为所有请求方法都是允许的。 你可以用 '*' 来代表所有的行动。当一个动作是显式的 指定的,它则优先于 '*' 所给出的规范。 例如, `php [ 'create' => ['GET', 'POST'], 'update' => ['GET', 'PUT', 'POST'], 'delete' => ['POST', 'DELETE'], '*' => ['GET'], ] ` yii\filters\VerbFilter
$owner yii\base\Component|null The owner of this behavior yii\base\Behavior

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. yii\base\BaseObject
__construct() Constructor. yii\base\BaseObject
__get() Returns the value of an object property. yii\base\BaseObject
__isset() Checks if a property is set, i.e. defined and not null. yii\base\BaseObject
__set() Sets value of an object property. yii\base\BaseObject
__unset() Sets an object property to null. yii\base\BaseObject
attach() Attaches the behavior object to the component. yii\base\Behavior
beforeAction() yii\filters\VerbFilter
canGetProperty() Returns a value indicating whether a property can be read. yii\base\BaseObject
canSetProperty() Returns a value indicating whether a property can be set. yii\base\BaseObject
className() Returns the fully qualified name of this class. yii\base\BaseObject
detach() Detaches the behavior object from the component. yii\base\Behavior
events() 声明 $owner's 事件的事件处理程序。 yii\filters\VerbFilter
hasMethod() Returns a value indicating whether a method is defined. yii\base\BaseObject
hasProperty() Returns a value indicating whether a property is defined. yii\base\BaseObject
init() Initializes the object. yii\base\BaseObject

属性详情

$actions 公共 属性

此属性为每个操作定义允许的请求方法。 对于应该只支持有限的请求方法集的每个操作 您添加一个条目,其中操作 id 作为数组键 允许的方法数组(例如 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's 事件的事件处理程序。

public array events()
return array

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