用户监听器
概念
监听器是程序运行到某个位置时触发某事件并执行的类,除系统监听器外,用户可自定义监听器
定义
自定义监听器一般位于模块listener目录下,文件名即类名,命名空间为:\mod\模块\listener,继承并实现\boa\event\listener接口
namespace mod\home\listener;
class test implements \boa\event\listener {
private $res;
public function __construct($args){
print_r($args);
// 接收参数,执行具体业务
$this->res = true;
}
public function get(){
return $this->res; // 返回处理结果
}
}
接口详情参见listener接口
使用
- auto=true时,如监听器未注册,则在当前模块listener目录下按文件名查找并触发(若不存在便忽略)
$res = boa::event()->trigger('test'); // 执行 mod/home/listener/test.php
- auto=false时,需先行手动注册监听器,然后触发
$event = boa::event(); if(!$event->have('test')){ $event->register('test', '\\mod\\home\\listener\\test'); } $res = $event->trigger('test');