[ UlogicEventListener::class . '@handleUserPunished', ], MessageSentEvent::class => [ UlogicEventListener::class . '@handleMessageSent', ], UserTimeUpdatedEvent::class => [ UlogicEventListener::class . '@handleUserTimeUpdated', ], ]; /** * 需要注册的订阅者 * * @var array */ protected $subscribe = [ UlogicEventListener::class, ]; /** * 注册服务 * * @return void */ public function register(): void { // 注册服务... $this->app->singleton('ulogic.app.message.service', function ($app) { return new \App\Module\Ulogic\Services\AppMessageService(); }); $this->app->singleton('ulogic.user.address.service', function ($app) { return new \App\Module\Ulogic\Services\UserAddressService(); }); $this->app->singleton('ulogic.user.relation.service', function ($app) { return new \App\Module\Ulogic\Services\UserRelationService(); }); $this->app->singleton('ulogic.wallet.address.service', function ($app) { return new \App\Module\Ulogic\Services\WalletAddressService(); }); } /** * 启动服务 * * @return void */ public function boot(): void { // 注册事件监听器 $this->registerEvents(); } /** * 注册事件和监听器 * * @return void */ protected function registerEvents(): void { $events = $this->app['events']; foreach ($this->listen as $event => $listeners) { foreach ($listeners as $listener) { $events->listen($event, $listener); } } foreach ($this->subscribe as $subscriber) { $events->subscribe($subscriber); } } }