$event的值会带上命名空间,比如:app\event\UserLogin
Event::listen('UserLogin','app\listener\Userlogin');
监听这样设置是匹配不上的
Event::listen('app\event\UserLogin','app\listener\Userlogin');
得设置成这样才能匹配上
我比较菜啊,不知道这个地方就是这样设计的
/**
* 触发事件
* @access public
* @param string|ob
* @param mixed $params 传入参数
* @param bool $once 只获取一个有效返回值
* @return mixed
*/
public function trigger($event, $params = null, bool $once = false)
{
if (is_ob
$params = $event;
$event = get_class($event);
}
if (isset($this->bind[$event])) {
$event = $this->bind[$event];
}
$result = [];
$listeners = $this->listener[$event] ?? [];
$listeners = array_unique($listeners, SORT_REGULAR);
最佳答案