Class yii\base\ActionFilter

继承yii\base\ActionFilter » yii\base\Behavior » yii\base\BaseObject
实现yii\base\Configurable
子类yii\filters\AccessControl, yii\filters\AjaxFilter, yii\filters\ContentNegotiator, yii\filters\Cors, yii\filters\HostControl, yii\filters\HttpCache, yii\filters\PageCache, yii\filters\RateLimiter, yii\filters\auth\AuthMethod, yii\filters\auth\CompositeAuth, yii\filters\auth\HttpBasicAuth, yii\filters\auth\HttpBearerAuth, yii\filters\auth\HttpHeaderAuth, yii\filters\auth\QueryParamAuth
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/base/ActionFilter.php

ActionFilter 是动作过滤器的基类.

动作过滤器将通过响应模块和控制器触发的beforeActionafterAction事件来参与动作执行工作流程.

检查 yii\filters\AccessControl, yii\filters\PageCacheyii\filters\HttpCache 的实现, 以获取有关如何使用它的例子.

有关 ActionFilter 的更多详细信息和使用信息, 请参阅 权威指南 - 应用结构 - 过滤器(Filters).

公共属性

隐藏继承的属性

属性类型描述定义在
$except array 此过滤器不适用的动作ID列表, 列表中的动作将不被过滤. yii\base\ActionFilter
$only array 此过滤器应适用的动作ID列表, 仅列表中的动作被过滤. yii\base\ActionFilter
$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
afterAction() 执行动作后立即调用此方法. yii\base\ActionFilter
afterFilter() yii\base\ActionFilter
attach() 将行为对象附加到组件. yii\base\ActionFilter
beforeAction() 在执行动作之前(在所有可能的过滤器之后)立即调用该方法. yii\base\ActionFilter
beforeFilter() yii\base\ActionFilter
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
className() 返回此类的完全限定名称. yii\base\BaseObject
detach() 从组件中分离行为对象. yii\base\ActionFilter
events() 声明 所有者 事件的事件处理程序. yii\base\Behavior
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化对象. yii\base\BaseObject

受保护的方法

隐藏继承的方法

方法描述定义在
getActionId() 通过将 yii\base\Action::$uniqueId 转换为相对于模块的ID来返回动作ID. yii\base\ActionFilter
isActive() 返回一个值, 指示过滤器对于给定动作是否处于活动状态. yii\base\ActionFilter

属性详情

$except public 属性

此过滤器不适用的动作ID列表, 列表中的动作将不被过滤.

参见 $only.

public array $except = []
$only public 属性

此过滤器应适用的动作ID列表, 仅列表中的动作被过滤.

如果此属性未设置, 则过滤器将应用于所有动作, 除非它们在 $except 中列出. 如果动作ID同时出现在 $only$except 中, 则此过滤器将不适用于它.

Note: 如果过滤器已附加到模块, 则动作ID还应包含子模块ID(如果有)和控制器ID.

自版本 2.0.9 开始, 动作ID可以被指定为通配符, eg. site/*.

参见 $except.

public array $only null

方法详情

afterAction() public 方法

执行动作后立即调用此方法.

你可以重写此方法来为该动作执行一些后续处理.

public mixed afterAction ( $action, $result )
$action yii\base\Action

刚刚执行的动作.

$result mixed

动作执行结果.

return mixed

处理后的动作结果.

afterFilter() public 方法

public void afterFilter ( $event )
$event yii\base\ActionEvent
attach() public 方法

将行为对象附加到组件.

默认实现将设置 所有者 属性并附加在 事件 中声明的事件处理程序. 如果重写此方法, 请确保调用父实现.

public void attach ( $owner )
$owner yii\base\Component

要将此行为附加到的组件..

beforeAction() public 方法

在执行动作之前(在所有可能的过滤器之后)立即调用该方法.

你可以重写此方法, 以便为该动作做最后的准备.

public boolean beforeAction ( $action )
$action yii\base\Action

要执行的动作.

return boolean

该动作是否应该继续执行.

beforeFilter() public 方法

public void beforeFilter ( $event )
$event yii\base\ActionEvent
detach() public 方法

从组件中分离行为对象.

默认实现将取消设置 所有者 属性并分离在 事件 中声明事件处理程序. 如果重写此方法, 请确保调用父实现.

public void detach ( )
getActionId() protected 方法 (可用自版本: 2.0.7)

通过将 yii\base\Action::$uniqueId 转换为相对于模块的ID来返回动作ID.

protected string getActionId ( $action )
$action yii\base\Action
isActive() protected 方法

返回一个值, 指示过滤器对于给定动作是否处于活动状态.

protected boolean isActive ( $action )
$action yii\base\Action

被过滤的动作.

return boolean

给定的动作的过滤器是否处于活动状态.