Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Illuminate\Cache;
4
 
5
use Illuminate\Contracts\Support\DeferrableProvider;
6
use Illuminate\Support\ServiceProvider;
7
use Symfony\Component\Cache\Adapter\Psr16Adapter;
8
 
9
class CacheServiceProvider extends ServiceProvider implements DeferrableProvider
10
{
11
    /**
12
     * Register the service provider.
13
     *
14
     * @return void
15
     */
16
    public function register()
17
    {
18
        $this->app->singleton('cache', function ($app) {
19
            return new CacheManager($app);
20
        });
21
 
22
        $this->app->singleton('cache.store', function ($app) {
23
            return $app['cache']->driver();
24
        });
25
 
26
        $this->app->singleton('cache.psr6', function ($app) {
27
            return new Psr16Adapter($app['cache.store']);
28
        });
29
 
30
        $this->app->singleton('memcached.connector', function () {
31
            return new MemcachedConnector;
32
        });
33
 
34
        $this->app->singleton(RateLimiter::class, function ($app) {
35
            return new RateLimiter($app->make('cache')->driver(
36
                $app['config']->get('cache.limiter')
37
            ));
38
        });
39
    }
40
 
41
    /**
42
     * Get the services provided by the provider.
43
     *
44
     * @return array
45
     */
46
    public function provides()
47
    {
48
        return [
49
            'cache', 'cache.store', 'cache.psr6', 'memcached.connector', RateLimiter::class,
50
        ];
51
    }
52
}