Ejemplo n.º 1
0
 public function boot()
 {
     /**
      * Extend闭包需要返回一个ConnectorInterface的Concrete
      * QueueManager内部调用ConnectorInterface::connect($config)得到Queue实例。
      * 一般为了简化类的数目,Queue同时也实现了ConnectorInterface
      * 在ServiceProvider中不再需要显式地配置连接。
      */
     \Queue::extend('aliyun-mqs', function () {
         return new MQSQueue();
     });
 }
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     Cache::extend('redis', function ($app, $config) {
         $store = new RedisStore($app['redis'], Arr::get($config, 'prefix') ?: $this->app['config']['cache.prefix'], Arr::get($config, 'connection', 'default'));
         $store->setDefaultUnit(Arr::get($config, 'defaultUnit', 'minute'))->setEncodeFunc(Arr::get($config, 'encodeFunc', 'serialize'))->setDecodeFunc(Arr::get($config, 'decodeFunc', 'unserialize'));
         $repository = new Repository($store);
         return $repository;
     });
     \Queue::extend('redis', function () {
         return new RedisConnector(app('redis'));
     });
 }