-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathservices.php
More file actions
115 lines (92 loc) · 6.89 KB
/
services.php
File metadata and controls
115 lines (92 loc) · 6.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
use FOS\HttpCacheBundle\CacheManager;
use Neusta\Pimcore\HttpCacheBundle\Adapter\FOSHttpCache\CacheInvalidatorAdapter;
use Neusta\Pimcore\HttpCacheBundle\Adapter\FOSHttpCache\ResponseTaggerAdapter;
use Neusta\Pimcore\HttpCacheBundle\Cache\CacheInvalidator;
use Neusta\Pimcore\HttpCacheBundle\Cache\CacheInvalidator\OnlyWhenActiveCacheInvalidator;
use Neusta\Pimcore\HttpCacheBundle\Cache\CacheInvalidator\RemoveDisabledTagsCacheInvalidator;
use Neusta\Pimcore\HttpCacheBundle\Cache\CacheTagChecker\Element\AssetCacheTagChecker;
use Neusta\Pimcore\HttpCacheBundle\Cache\CacheTagChecker\Element\DocumentCacheTagChecker;
use Neusta\Pimcore\HttpCacheBundle\Cache\CacheTagChecker\Element\ObjectCacheTagChecker;
use Neusta\Pimcore\HttpCacheBundle\Cache\CacheTagChecker\ElementCacheTagChecker;
use Neusta\Pimcore\HttpCacheBundle\Cache\CacheTagChecker\StaticCacheTagChecker;
use Neusta\Pimcore\HttpCacheBundle\Cache\ResponseTagger;
use Neusta\Pimcore\HttpCacheBundle\Cache\ResponseTagger\CacheTagCollectionResponseTagger;
use Neusta\Pimcore\HttpCacheBundle\Cache\ResponseTagger\OnlyWhenActiveResponseTagger;
use Neusta\Pimcore\HttpCacheBundle\Cache\ResponseTagger\RemoveDisabledTagsResponseTagger;
use Neusta\Pimcore\HttpCacheBundle\CacheActivator;
use Neusta\Pimcore\HttpCacheBundle\DataCollector;
use Neusta\Pimcore\HttpCacheBundle\Element\DependencyInvalidator;
use Neusta\Pimcore\HttpCacheBundle\Element\ElementRepository;
use Neusta\Pimcore\HttpCacheBundle\Element\ElementsConfig;
use Neusta\Pimcore\HttpCacheBundle\Element\InvalidateElementListener;
use Neusta\Pimcore\HttpCacheBundle\Element\TagElementListener;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use function Symfony\Component\DependencyInjection\Loader\Configurator\abstract_arg;
use function Symfony\Component\DependencyInjection\Loader\Configurator\param;
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
return static function (ContainerConfigurator $configurator) {
$services = $configurator->services();
$services->set('neusta_pimcore_http_cache.cache_activator', CacheActivator::class)
->alias(CacheActivator::class, 'neusta_pimcore_http_cache.cache_activator');
$services->set('neusta_pimcore_http_cache.cache_invalidator', CacheInvalidatorAdapter::class)
->arg('$invalidator', service(CacheManager::class));
$services->set(null, RemoveDisabledTagsCacheInvalidator::class)
->decorate('neusta_pimcore_http_cache.cache_invalidator', null, -99)
->args([service('.inner'), service('neusta_pimcore_http_cache.cache_tag_checker')]);
$services->set(null, OnlyWhenActiveCacheInvalidator::class)
->decorate('neusta_pimcore_http_cache.cache_invalidator', null, -100)
->args([service('.inner'), service('neusta_pimcore_http_cache.cache_activator')]);
$services->alias(CacheInvalidator::class, 'neusta_pimcore_http_cache.cache_invalidator');
$services->set('neusta_pimcore_http_cache.response_tagger', ResponseTaggerAdapter::class)
->arg('$responseTagger', service('fos_http_cache.http.symfony_response_tagger'));
$services->set(null, RemoveDisabledTagsResponseTagger::class)
->decorate('neusta_pimcore_http_cache.response_tagger', null, -99)
->args([service('.inner'), service('neusta_pimcore_http_cache.cache_tag_checker')]);
$services->set(null, OnlyWhenActiveResponseTagger::class)
->decorate('neusta_pimcore_http_cache.response_tagger', null, -100)
->args([service('.inner'), service('neusta_pimcore_http_cache.cache_activator')]);
$services->set('.neusta_pimcore_http_cache.collect_tags_response_tagger', CacheTagCollectionResponseTagger::class)
->decorate('neusta_pimcore_http_cache.response_tagger', null, 1)
->args([service('.inner')]);
$services->alias(ResponseTagger::class, 'neusta_pimcore_http_cache.response_tagger');
$services->set('neusta_pimcore_http_cache.cache_tag_checker', StaticCacheTagChecker::class)
->arg('$types', abstract_arg('Set in the extension'));
$services->set('neusta_pimcore_http_cache.cache_tag_checker.element', ElementCacheTagChecker::class)
->decorate('neusta_pimcore_http_cache.cache_tag_checker')
->arg('$inner', service('.inner'))
->arg('$asset', service('neusta_pimcore_http_cache.cache_tag_checker.element.asset'))
->arg('$document', service('neusta_pimcore_http_cache.cache_tag_checker.element.document'))
->arg('$object', service('neusta_pimcore_http_cache.cache_tag_checker.element.object'));
$services->set('.neusta_pimcore_http_cache.element.repository', ElementRepository::class);
$services->set('neusta_pimcore_http_cache.elements_config', ElementsConfig::class)
->factory([ElementsConfig::class, 'fromArray'])
->arg('$config', []);
$services->set('neusta_pimcore_http_cache.cache_tag_checker.element.asset', AssetCacheTagChecker::class)
->arg('$repository', service('.neusta_pimcore_http_cache.element.repository'))
->arg('$config', service('neusta_pimcore_http_cache.elements_config'));
$services->set('neusta_pimcore_http_cache.cache_tag_checker.element.document', DocumentCacheTagChecker::class)
->arg('$repository', service('.neusta_pimcore_http_cache.element.repository'))
->arg('$config', service('neusta_pimcore_http_cache.elements_config'));
$services->set('neusta_pimcore_http_cache.cache_tag_checker.element.object', ObjectCacheTagChecker::class)
->arg('$repository', service('.neusta_pimcore_http_cache.element.repository'))
->arg('$config', service('neusta_pimcore_http_cache.elements_config'));
$services->set('neusta_pimcore_http_cache.element.tag_listener', TagElementListener::class)
->arg('$responseTagger', service('neusta_pimcore_http_cache.response_tagger'))
->arg('$dispatcher', service('event_dispatcher'));
$services->set('neusta_pimcore_http_cache.element.dependency_invalidator', DependencyInvalidator::class)
->arg('$elementRepository', service('.neusta_pimcore_http_cache.element.repository'))
->arg('$config', service('neusta_pimcore_http_cache.elements_config'));
$services->set('neusta_pimcore_http_cache.element.invalidate_listener', InvalidateElementListener::class)
->arg('$cacheInvalidator', service('neusta_pimcore_http_cache.cache_invalidator'))
->arg('$dispatcher', service('event_dispatcher'))
->arg('$dependencyInvalidator', service('neusta_pimcore_http_cache.element.dependency_invalidator'));
$services->set('neusta_pimcore_http_cache.data_collector', DataCollector::class)
->arg('$cacheTagCollector', service('.neusta_pimcore_http_cache.collect_tags_response_tagger'))
->arg('$configuration', param('neusta_pimcore_http_cache.config'))
->tag('data_collector', [
'template' => '@NeustaPimcoreHttpCache/profiler.html.twig',
'id' => 'pimcore_http_cache',
'priority' => 255,
]);
};