remove service when base class is missing

This commit is contained in:
Christian Flothmann 2019-11-29 15:02:24 +01:00
parent ec781c927a
commit c3a658ac0f

View File

@ -11,6 +11,7 @@
namespace Symfony\Bundle\TwigBundle\DependencyInjection\Compiler;
use Symfony\Bridge\Twig\Extension\AssetExtension;
use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
@ -119,6 +120,10 @@ class ExtensionPass implements CompilerPassInterface
$loader = $container->getDefinition('twig.loader.filesystem');
$loader->setMethodCalls(array_merge($twigLoader->getMethodCalls(), $loader->getMethodCalls()));
if (!method_exists(AssetExtension::class, 'getName')) {
$container->removeDefinition('templating.engine.twig');
}
$twigLoader->clearTag('twig.loader');
} else {
$container->setAlias('twig.loader.filesystem', new Alias('twig.loader.native_filesystem', false));