boaPHP开发手册v5.5

用户监听器

概念

监听器是程序运行到某个位置时触发某事件并执行的类,除系统监听器外,用户可自定义监听器

定义

自定义监听器一般位于模块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');