diff --git a/extra/twig-extra-bundle/DependencyInjection/Compiler/MissingExtensionSuggestorPass.php b/extra/twig-extra-bundle/DependencyInjection/Compiler/MissingExtensionSuggestorPass.php index ac911ca3d..3f3cca62a 100644 --- a/extra/twig-extra-bundle/DependencyInjection/Compiler/MissingExtensionSuggestorPass.php +++ b/extra/twig-extra-bundle/DependencyInjection/Compiler/MissingExtensionSuggestorPass.php @@ -14,17 +14,23 @@ namespace Twig\Extra\TwigExtraBundle\DependencyInjection\Compiler; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; +use Twig\Environment; class MissingExtensionSuggestorPass implements CompilerPassInterface { public function process(ContainerBuilder $container) { if ($container->getParameter('kernel.debug')) { - $container->getDefinition('twig') + $twigDefinition = $container->getDefinition('twig'); + $twigDefinition ->addMethodCall('registerUndefinedFilterCallback', [[new Reference('twig.missing_extension_suggestor'), 'suggestFilter']]) ->addMethodCall('registerUndefinedFunctionCallback', [[new Reference('twig.missing_extension_suggestor'), 'suggestFunction']]) - ->addMethodCall('registerUndefinedTokenParserCallback', [[new Reference('twig.missing_extension_suggestor'), 'suggestTag']]) ; + + // this method was added in Twig 3.2 + if (method_exists(Environment::class, 'registerUndefinedTokenParserCallback')) { + $twigDefinition->addMethodCall('registerUndefinedTokenParserCallback', [[new Reference('twig.missing_extension_suggestor'), 'suggestTag']]); + } } } } diff --git a/extra/twig-extra-bundle/composer.json b/extra/twig-extra-bundle/composer.json index 5bc5b2294..2bc402273 100644 --- a/extra/twig-extra-bundle/composer.json +++ b/extra/twig-extra-bundle/composer.json @@ -18,7 +18,7 @@ "php": "^7.1.3|^8.0", "symfony/framework-bundle": "^4.3|^5.0", "symfony/twig-bundle": "^4.3|^5.0", - "twig/twig": "^3.2" + "twig/twig": "^2.4|^3.0" }, "require-dev": { "symfony/phpunit-bridge": "^4.4.9|^5.0.9",