1111
1212namespace Cache \CacheBundle \DependencyInjection ;
1313
14- use Cache \CacheBundle \DataCollector \CacheDataCollector ;
15- use Cache \CacheBundle \Routing \RouterListener ;
14+ use Symfony \Component \Config \FileLocator ;
1615use Symfony \Component \DependencyInjection \ContainerBuilder ;
1716use Symfony \Component \DependencyInjection \Reference ;
1817use Symfony \Component \HttpKernel \DependencyInjection \Extension ;
18+ use Symfony \Component \DependencyInjection \Loader ;
19+
1920
2021/**
21- * Class CacheExtension
2222 *
2323 * @author Aaron Scherer <[email protected] > 24+ * @author Tobias Nyholm <[email protected] > 2425 */
2526class CacheExtension extends Extension
2627{
@@ -34,10 +35,8 @@ public function load(array $configs, ContainerBuilder $container)
3435 {
3536 $ config = $ this ->processConfiguration (new Configuration (), $ configs );
3637
37- if ($ container ->getParameter ('kernel.debug ' )) {
38- $ container ->register ('data_collector.cache ' , CacheDataCollector::class)
39- ->addTag ('data_collector ' , ['template ' => CacheDataCollector::TEMPLATE , 'id ' => 'cache ' ]);
40- }
38+ $ loader = new Loader \YamlFileLoader ($ container , new FileLocator (__DIR__ .'/../Resources/config ' ));
39+ $ loader ->load ('services.yml ' );
4140
4241 foreach (['router ' , 'session ' , 'doctrine ' ] as $ section ) {
4342 if ($ config [$ section ]['enabled ' ]) {
@@ -46,13 +45,14 @@ public function load(array $configs, ContainerBuilder $container)
4645 }
4746
4847 if ($ config ['router ' ]['enabled ' ]) {
49- $ container ->register ('cache.router_listener ' , RouterListener::class)
50- ->addArgument (new Reference ($ config ['router ' ]['service_id ' ]))
51- ->addArgument ($ config ['router ' ]['ttl ' ])
52- ->addTag ('kernel.event_listener ' , ['event ' =>'kernel.request ' , 'method ' =>'onBeforeRouting ' , 'priority ' =>33 ])
53- ->addTag ('kernel.event_listener ' , ['event ' =>'kernel.request ' , 'method ' =>'onAfterRouting ' , 'priority ' =>31 ]);
48+ $ container ->getDefinition ('cache.router_listener ' )->replaceArgument (0 , new Reference ($ config ['router ' ]['service_id ' ]));
49+ } else {
50+ $ container ->removeDefinition ('cache.router_listener ' );
5451 }
5552
53+ if (!$ container ->getParameter ('kernel.debug ' )) {
54+ $ container ->removeDefinition ('data_collector.cache ' );
55+ }
5656 }
5757
5858 public function getAlias ()
0 commit comments