定义事件分为三步,定义事件、注册事件句柄、触发事件
首先来定义一个事件 项目/protected/extensions/testComponent.php
class testComponent extends CComponent{
//定义一个事件
public function onMyevent($event){
$this->raiseEvent('onMyevent', $event);//注册一个onMyevent事件
}
}
class ArctypeController extends Controller{
public function actionindex(){
$com = Yii::createComponent('application.extensions.testComponent');//实例化组件类testComponent
$com->onMyevent = array($this,'myevent');//注册事件句柄为当前控制器的myevent方法
$com->onMyevent(new CEvent($com));//触发一个事件
}
//定义事件句柄
public function myevent(){
$str = '这个我定义的事件句柄';
echo $str;
}
}