事件订阅者
定义事件订阅者
事件订阅者是个可以从类自身里面订阅多个事件的类。订阅者应该定义 subscribe 方法,事件配送器实体将会被传递到这个方法:
class UserEventHandler {
/**
* 处理用户登录事件。
*/
public function onUserLogin($event)
{
//
}
/**
* 处理用户注销事件。
*/
public function onUserLogout($event)
{
//
}
/**
* 注册监听器给订阅者。
*
* @param IlluminateEventsDispatcher $events
* @return array
*/
public function subscribe($events)
{
$events->listen("AppEventsUserLoggedIn", "UserEventHandler@onUserLogin");
$events->listen("AppEventsUserLoggedOut", "UserEventHandler@onUserLogout");
}
}
注册事件订阅者
当定义了订阅者后,可以使用 Event 类注册。
$subscriber = new UserEventHandler;
Event::subscribe($subscriber);
你也可以使用 服务容器 自动解析订阅者。简单地传递订阅者的名字给 subscribe 方法就可以做到:
Event::subscribe("UserEventHandler");