From a20993b7d2819126981139701a4624fab8256952 Mon Sep 17 00:00:00 2001 From: Alex Vasilenko Date: Thu, 24 Mar 2016 11:40:53 +0100 Subject: [PATCH 1/2] ability to redefine key generator as service --- DependencyInjection/Configuration.php | 5 +++++ DependencyInjection/TwigCacheExtension.php | 1 + Resources/config/services.xml | 2 +- Tests/DependencyInjection/TwigCacheExtensionTest.php | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index e6e1f46..eec87c8 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -35,6 +35,11 @@ public function getConfigTreeBuilder() ->cannotBeEmpty() ->defaultValue('twig_cache.strategy') ->end() + ->scalarNode('key_generator') + ->cannotBeEmpty() + ->defaultValue('twig_cache.strategy.spl_object_hash_key_generator') + ->info('service id that implements KeyGeneratorInterface to generate a key for template cache') + ->end() ->end(); return $treeBuilder; diff --git a/DependencyInjection/TwigCacheExtension.php b/DependencyInjection/TwigCacheExtension.php index 79475a5..f197513 100644 --- a/DependencyInjection/TwigCacheExtension.php +++ b/DependencyInjection/TwigCacheExtension.php @@ -31,6 +31,7 @@ public function load(array $config, ContainerBuilder $container) $config = $this->processConfiguration($configuration, $config); $container->setAlias('twig_cache.service', $config['service']); + $container->setAlias('twig_cache.strategy.key_generator', $config['key_generator']); $loader = new Loader\XmlFileLoader( $container, diff --git a/Resources/config/services.xml b/Resources/config/services.xml index 5c7d532..8d79aa5 100644 --- a/Resources/config/services.xml +++ b/Resources/config/services.xml @@ -25,7 +25,7 @@ - + diff --git a/Tests/DependencyInjection/TwigCacheExtensionTest.php b/Tests/DependencyInjection/TwigCacheExtensionTest.php index 2ca074b..a7e17fa 100644 --- a/Tests/DependencyInjection/TwigCacheExtensionTest.php +++ b/Tests/DependencyInjection/TwigCacheExtensionTest.php @@ -42,6 +42,7 @@ public function testService() { $this->assertContainerBuilderHasService('twig_cache.extension'); $this->assertContainerBuilderHasService('twig_cache.service'); + $this->assertContainerBuilderHasService('twig_cache.strategy.key_generator'); } /** From dd7ddd7c3f0788f785db66a6c081d51cb70e7716 Mon Sep 17 00:00:00 2001 From: Alex Vasilenko Date: Mon, 28 Mar 2016 10:59:46 +0200 Subject: [PATCH 2/2] update reference config --- Resources/doc/configuration-reference.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/doc/configuration-reference.rst b/Resources/doc/configuration-reference.rst index c04d3ff..4268b85 100644 --- a/Resources/doc/configuration-reference.rst +++ b/Resources/doc/configuration-reference.rst @@ -7,4 +7,5 @@ Default Bundle Configuration twig_cache: profiler: '%kernel.debug%' service: # required - strategy: twig_cache.strategy \ No newline at end of file + strategy: twig_cache.strategy + key_generator: twig_cache.strategy.spl_object_hash_key_generator