事件
定义事件
namespace control;
/**
* 主页Action
*/
class ctl_index extends ctl_base
{
//构造函数
public function init()
{
// 要触发beforeAction事件,可在init里定义,会在init之后被触发
event::on(beforeAction, array($this, 'test_event'));
}
//默认路由index
public function index()
{
// 绑定testService里的my_event1方法 和 my_event2方法 到 myEvent事件中,两个方法都会被执行,按绑定先后顺序执行
$fd1 = event::on('myEvent', array($this->testService, 'my_event1'));
$fd2 = event::on('myEvent', array($this->testService, 'my_event2'));
// do something .....
// 解绑myEvent事件的 my_event1方法
event::off('myEvent', $fd1);
// 解绑myEvent事件,所有绑定在该事件上的方法都不会再被执行
event::off('myEvent');
exit('测试一下');
}
// 自定义的事件类
public function test_event($event)
{
// addLog为写日志的方法
log::info('触发beforeAction事件');
}
}触发事件
Last updated