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');
}
/**