Class yii\base\Behavior

继承yii\base\Behavior » yii\base\BaseObject
实现yii\base\Configurable
子类yii\base\ActionFilter, yii\behaviors\AttributeBehavior, yii\behaviors\AttributeTypecastBehavior, yii\behaviors\AttributesBehavior, yii\behaviors\BlameableBehavior, yii\behaviors\CacheableWidgetBehavior, yii\behaviors\OptimisticLockBehavior, yii\behaviors\SluggableBehavior, yii\behaviors\TimestampBehavior, 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\VerbFilter, 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/Behavior.php

Behavior 是所有行为类的基类.

行为可用于增强现有组件的功能而无需修改其代码.

特别是, 它可以将自己的方法和属性"注入(inject)"到组件中, 并通过组件直接访问它们. 它还可以响应组件中触发的事件, 从而拦截正常的代码执行.

有关 Behavior 的更多详细信息和使用信息, 请参阅 权威指南 - 关键概念 - 行为(Behaviors).

公共属性

隐藏继承的属性

属性类型描述定义在
$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
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
className() 返回此类的完全限定名称. yii\base\BaseObject
detach() 从组件中分离行为对象. yii\base\Behavior
events() 声明 所有者 事件的事件处理程序. yii\base\Behavior
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化对象. yii\base\BaseObject

属性详情

$owner public 属性

该行为的所有者.

方法详情

attach() public 方法

将行为对象附加到组件.

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

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

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

detach() public 方法

从组件中分离行为对象.

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

public void detach ( )
events() public 方法

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

子类可以重写此方法来声明应将哪些 PHP 回调应附加到 所有者 组件的事件.

当行为附加到所有者时, 回调将附加到 所有者 的事件中; 当行为与组件分离时, 它们将与事件分离.

回调可以是以下任何一种:

  • 此行为中的方法: 'handleClick', 相当于[$this, 'handleClick']
  • 对象方法: [$object, 'handleClick']
  • 静态方法: ['Page', 'handleClick']
  • 匿名函数: function ($event) { ... }

以下是一个例子:

[
    Model::EVENT_BEFORE_VALIDATE => 'myBeforeValidate',
    Model::EVENT_AFTER_VALIDATE => 'myAfterValidate',
]
public array events ( )
return array

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