Allowing compat with Twig 2 by conditionally calling method

This commit is contained in:
Ryan Weaver
2021-02-06 16:13:17 -05:00
parent b0764968c2
commit ef15dd3abf
2 changed files with 9 additions and 3 deletions
@@ -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']]);
}
}
}
}
+1 -1
View File
@@ -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",