> YII 类库手册 > CActiveRecordBehavior
system.db.ar
继承 class CActiveRecordBehavior » CModelBehavior » CBehavior » CComponent
实现 IBehavior
子类 CTimestampBehavior
版本 $Id: CActiveRecordBehavior.PHP 3515 2011-12-28 12:29:24Z mDOMba $
源码
CActiveRecordBehavior是能附加到CActiveRecord的行为的基类。 和CModelBehavior比较,CActiveRecordBehavior能附加到更多事件 它们仅通过CActiveRecord定义。

公共属性

属性 类型 描述 定义在
enabled boolean 事件是否被启用。 CBehavior
owner CComponent 获得附加行为的组件。 CBehavior

公共方法

方法 描述 定义在
__call() 如果类中没有调的方法名,则调用这个方法。 CComponent
__get() 返回一个属性值、一个事件处理程序列表或一个行为名称。 CComponent
__isset() 检查一个属性是否为null。 CComponent
__set() 设置一个组件的属性值。 CComponent
__unset() 设置一个组件的属性为null。 CComponent
afterConstruct() 响应CModel::onAfterConstruct事件。 CModelBehavior
afterDelete() 响应到 CActiveRecord::onAfterDelete 事件。 CActiveRecordBehavior
afterFind() 响应到 CActiveRecord::onAfterFind 事件。 CActiveRecordBehavior
afterSave() 响应到 CActiveRecord::onAfterSave 事件。 CActiveRecordBehavior
afterValidate() 响应CModel::onAfterValidate事件。 CModelBehavior
asa() 返回这个名字的行为对象。 CComponent
attach() 附加事件处理程序到组件。 CBehavior
attachBehavior() 附加一个行为到组件。 CComponent
attachBehaviors() 附加一个行为列表到组件。 CComponent
attachEventHandler() 为事件附加一个事件处理程序。 CComponent
beforeDelete() 响应到 CActiveRecord::onBeforeDelete 事件。 CActiveRecordBehavior
beforeFind() 响应到 CActiveRecord::onBeforeFind 事件。 CActiveRecordBehavior
beforeSave() 响应到 CActiveRecord::onBeforeSave 事件。 CActiveRecordBehavior
beforeValidate() 响应CModel::onBeforeValidate事件。 CModelBehavior
canGetProperty() 确定属性是否可读。 CComponent
canSetProperty() 确定属性是否可写。 CComponent
detach() 从组件分离行为对象。 CBehavior
detachBehavior() 从组件中分离一个行为。 CComponent
detachBehaviors() 从组件中分离所有行为。 CComponent
detachEventHandler() 分离一个存在的事件处理程序。 CComponent
disableBehavior() 禁用一个附加行为。 CComponent
disableBehaviors() 禁用组件附加的所有行为。 CComponent
enableBehavior() 启用一个附加行为。 CComponent
enableBehaviors() 启用组件附加的所有行为。 CComponent
evaLuateExpression() 计算一个PHP表达式,或根据组件上下文执行回调。 CComponent
events() 定义事件和相应的事件处理方法。 CActiveRecordBehavior
getEnabled() 返回事件是否被启用。 CBehavior
getEventHandlers() 返回一个事件的附加处理程序列表。 CComponent
getOwner() 返回获得附加行为的组件。 CBehavior
hasEvent() 确定一个事件是否定义。 CComponent
hasEventHandler() 检查事件是否有附加的处理程序。 CComponent
hasProperty() 确定属性是否被定义。 CComponent
raiseEvent() 发起一个事件。 CComponent
setEnabled() 设置是否启用行为 CBehavior

方法详细

afterDelete() 方法
public void afterDelete(CEvent $event)
$event CEvent 事件参数
public function afterDelete($event)
{
}

响应到 CActiveRecord::onAfterDelete 事件。 如果你想处理 owner 的相应事件,请重写此方法。

afterFind() 方法
public void afterFind(CEvent $event)
$event CEvent 事件参数
public function afterFind($event)
{
}

响应到 CActiveRecord::onAfterFind 事件。 如果你想处理 owner 的相应事件,请重写此方法。

afterSave() 方法
public void afterSave(CModelEvent $event)
$event CModelEvent 事件参数
public function afterSave($event)
{
}

响应到 CActiveRecord::onAfterSave 事件。 如果你想处理 owner 的相应事件,请重写此方法。

beforeDelete() 方法
public void beforeDelete(CEvent $event)
$event CEvent 事件参数
public function beforeDelete($event)
{
}

响应到 CActiveRecord::onBeforeDelete 事件。 如果你想处理 owner 的相应事件,请重写此方法。 你可以设置 CModelEvent::isValid 为false去退出删除处理过程。

beforeFind() 方法
public void beforeFind(CEvent $event)
$event CEvent 事件参数
public function beforeFind($event)
{
}

响应到 CActiveRecord::onBeforeFind 事件。 如果你想处理 owner 的相应事件,请重写此方法。

beforeSave() 方法
public void beforeSave(CModelEvent $event)
$event CModelEvent 事件参数
public function beforeSave($event)
{
}

响应到 CActiveRecord::onBeforeSave 事件。 如果你想处理 owner 的相应事件,请重写此方法。 你可以设置 CModelEvent::isValid 为false去退出保存处理过程。

events() 方法
public array events()
{return} array 事件(array keys)和相应的事件处理方法(array values)。
public function events()
{
    return 
array_merge(parent::events(), array(
        
'onBeforeSave'=>'beforeSave',
        
'onAfterSave'=>'afterSave',
        
'onBeforeDelete'=>'beforeDelete',
        
'onAfterDelete'=>'afterDelete',
        
'onBeforeFind'=>'beforeFind',
        
'onAfterFind'=>'afterFind',
    ));
}

定义事件和相应的事件处理方法。 如果你重写这个方法,你应父结果合并到返回值。

参见

  • CBehavior::events
上一篇:
下一篇: