YII 定义一个事件

原创
2013/12/29 23:09
阅读数 270

定义事件分为三步,定义事件、注册事件句柄、触发事件

首先来定义一个事件 项目/protected/extensions/testComponent.php

class testComponent extends CComponent{
    //定义一个事件
    public function onMyevent($event){
        $this->raiseEvent('onMyevent', $event);//注册一个onMyevent事件
    }
}



然后我们注册一个事件句柄 在Arctype控制器中,并触发他
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;
    }
}



OK,一个事件从定义、注册、触发就完成了,目前还不清楚事件到底有什么用处

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部