remove cache warmers when Twig cache is disabled

This commit is contained in:
Christian Flothmann 2018-07-23 10:03:04 +02:00
parent 487f8acde5
commit ef1f7ff0bb
2 changed files with 12 additions and 2 deletions

View File

@ -49,10 +49,15 @@ class ExtensionPass implements CompilerPassInterface
$coreThemePath = \dirname(\dirname($reflClass->getFileName())).'/Resources/views/Form';
$container->getDefinition('twig.loader.native_filesystem')->addMethodCall('addPath', array($coreThemePath));
$paths = $container->getDefinition('twig.cache_warmer')->getArgument(2);
$paths = $container->getDefinition('twig.template_iterator')->getArgument(2);
$paths[$coreThemePath] = null;
$container->getDefinition('twig.cache_warmer')->replaceArgument(2, $paths);
$container->getDefinition('twig.template_iterator')->replaceArgument(2, $paths);
if ($container->hasDefinition('twig.cache_warmer')) {
$paths = $container->getDefinition('twig.cache_warmer')->getArgument(2);
$paths[$coreThemePath] = null;
$container->getDefinition('twig.cache_warmer')->replaceArgument(2, $paths);
}
}
if ($container->has('fragment.handler')) {

View File

@ -132,6 +132,11 @@ class TwigExtension extends Extension
$container->getDefinition('twig')->replaceArgument(1, $config);
if (false === $config['cache']) {
$container->removeDefinition('twig.cache_warmer');
$container->removeDefinition('twig.template_cache_warmer');
}
$this->addClassesToCompile(array(
'Twig_Environment',
'Twig_Extension',