RedisServiceProvider.php 910 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace Illuminate\Redis;
  3. use Illuminate\Contracts\Support\DeferrableProvider;
  4. use Illuminate\Support\Arr;
  5. use Illuminate\Support\ServiceProvider;
  6. class RedisServiceProvider extends ServiceProvider implements DeferrableProvider
  7. {
  8. /**
  9. * Register the service provider.
  10. *
  11. * @return void
  12. */
  13. public function register()
  14. {
  15. $this->app->singleton('redis', function ($app) {
  16. $config = $app->make('config')->get('database.redis', []);
  17. return new RedisManager($app, Arr::pull($config, 'client', 'phpredis'), $config);
  18. });
  19. $this->app->bind('redis.connection', function ($app) {
  20. return $app['redis']->connection();
  21. });
  22. }
  23. /**
  24. * Get the services provided by the provider.
  25. *
  26. * @return array
  27. */
  28. public function provides()
  29. {
  30. return ['redis', 'redis.connection'];
  31. }
  32. }