🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 定义事件订阅者 事件订阅者是个可以从类自身里面订阅多个事件的类。订阅者应该定义 subscribe 方法,事件配送器实体将会被传递到这个方法: ~~~ ~~~ class UserEventHandler { /** * 处理用户登录事件。 */ public function onUserLogin($event) { // } /** * 处理用户注销事件。 */ public function onUserLogout($event) { // } /** * 注册监听器给订阅者。 * * @param Illuminate\Events\Dispatcher $events * @return array */ public function subscribe($events) { $events->listen('App\Events\UserLoggedIn', 'UserEventHandler@onUserLogin'); $events->listen('App\Events\UserLoggedOut', 'UserEventHandler@onUserLogout'); } } ~~~ ~~~ ### 注册事件订阅者 当定义了订阅者后,可以使用 Event 类注册。 ~~~ ~~~ $subscriber = new UserEventHandler; Event::subscribe($subscriber); ~~~ ~~~ 你也可以使用 服务容器 自动解析订阅者。简单地传递订阅者的名字给 subscribe 方法就可以做到: `Event::subscribe('UserEventHandler');`