<?php

namespace Illuminate\Redis;

use Illuminate\Support\ServiceProvider;
// this namespace
class RedisServiceProvider extends ServiceProvider
{
    /**
     * Indicates if loading of the provider is deferred.
     *
     * @var bool
     */
    protected $defer = true;// a instance of Service Provider
   // a Redis Service Provider
   // Indicates if loading of the provider is deferred.

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
       $this->app->singleton('redis', function ($app) {
          return new Database($app['config']['database.redis']);
       });
    }//Register the service provider
   // a good redis register
   // one parameter is redis
   // other is a Database class

    /**
     * Get the services provided by the provider.
     *
     * @return array
     */
    public function provides()
    {
        return ['redis'];
    }// a big redis
   //Get the services provided by the provider
}