EventServiceProvider.php 761 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace Illuminate\Events;
  3. use Illuminate\Contracts\Queue\Factory as QueueFactoryContract;
  4. use Illuminate\Support\ServiceProvider;
  5. class EventServiceProvider extends ServiceProvider
  6. {
  7. /**
  8. * Register the service provider.
  9. *
  10. * @return void
  11. */
  12. public function register()
  13. {
  14. $this->app->singleton('events', function ($app) {
  15. return (new Dispatcher($app))->setQueueResolver(function () use ($app) {
  16. return $app->make(QueueFactoryContract::class);
  17. })->setTransactionManagerResolver(function () use ($app) {
  18. return $app->bound('db.transactions')
  19. ? $app->make('db.transactions')
  20. : null;
  21. });
  22. });
  23. }
  24. }