Viewing file: CacheServiceProvider.php (1.83 KB) -rwxrwxrwx Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Illuminate\Cache;
use Aws\DynamoDb\DynamoDbClient; use Illuminate\Contracts\Support\DeferrableProvider; use Illuminate\Support\Arr; use Illuminate\Support\ServiceProvider; use Symfony\Component\Cache\Adapter\Psr16Adapter;
class CacheServiceProvider extends ServiceProvider implements DeferrableProvider { /** * Register the service provider. * * @return void */ public function register() { $this->app->singleton('cache', function ($app) { return new CacheManager($app); });
$this->app->singleton('cache.store', function ($app) { return $app['cache']->driver(); });
$this->app->singleton('cache.psr6', function ($app) { return new Psr16Adapter($app['cache.store']); });
$this->app->singleton('memcached.connector', function () { return new MemcachedConnector; });
$this->app->singleton('cache.dynamodb.client', function ($app) { $config = $app['config']->get('cache.stores.dynamodb');
$dynamoConfig = [ 'region' => $config['region'], 'version' => 'latest', 'endpoint' => $config['endpoint'] ?? null, ];
if ($config['key'] && $config['secret']) { $dynamoConfig['credentials'] = Arr::only( $config, ['key', 'secret', 'token'] ); }
return new DynamoDbClient($dynamoConfig); });
$this->app->singleton(RateLimiter::class); }
/** * Get the services provided by the provider. * * @return array */ public function provides() { return [ 'cache', 'cache.store', 'cache.psr6', 'memcached.connector', 'cache.dynamodb.client', RateLimiter::class, ]; } }
|