| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace App\Module\User\Providers;
- use App\Module\User\Events\UserCreatedEvent;
- use App\Module\User\Events\UserInfoUpdatedEvent;
- use App\Module\User\Events\UserStatusChangedEvent;
- use App\Module\User\Events\UserUpdatedEvent;
- use App\Module\User\Listeners\UserEventListener;
- use Illuminate\Support\ServiceProvider;
- /**
- * 用户模块服务提供者
- */
- class UserServiceProvider extends ServiceProvider
- {
- /**
- * 事件到监听器的映射
- *
- * @var array
- */
- protected $listen = [
- UserCreatedEvent::class => [
- UserEventListener::class . '@handleUserCreated',
- ],
- UserUpdatedEvent::class => [
- UserEventListener::class . '@handleUserUpdated',
- ],
- UserStatusChangedEvent::class => [
- UserEventListener::class . '@handleUserStatusChanged',
- ],
- UserInfoUpdatedEvent::class => [
- UserEventListener::class . '@handleUserInfoUpdated',
- ],
- ];
- /**
- * 需要注册的订阅者
- *
- * @var array
- */
- protected $subscribe = [
- UserEventListener::class,
- ];
- /**
- * 注册服务
- *
- * @return void
- */
- public function register(): void
- {
- }
- /**
- * 启动服务
- *
- * @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);
- }
- }
- }
|