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\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Reference;
use Twig\Environment;
class MissingExtensionSuggestorPass implements CompilerPassInterface class MissingExtensionSuggestorPass implements CompilerPassInterface
{ {
public function process(ContainerBuilder $container) public function process(ContainerBuilder $container)
{ {
if ($container->getParameter('kernel.debug')) { if ($container->getParameter('kernel.debug')) {
$container->getDefinition('twig') $twigDefinition = $container->getDefinition('twig');
$twigDefinition
->addMethodCall('registerUndefinedFilterCallback', [[new Reference('twig.missing_extension_suggestor'), 'suggestFilter']]) ->addMethodCall('registerUndefinedFilterCallback', [[new Reference('twig.missing_extension_suggestor'), 'suggestFilter']])
->addMethodCall('registerUndefinedFunctionCallback', [[new Reference('twig.missing_extension_suggestor'), 'suggestFunction']]) ->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", "php": "^7.1.3|^8.0",
"symfony/framework-bundle": "^4.3|^5.0", "symfony/framework-bundle": "^4.3|^5.0",
"symfony/twig-bundle": "^4.3|^5.0", "symfony/twig-bundle": "^4.3|^5.0",
"twig/twig": "^3.2" "twig/twig": "^2.4|^3.0"
}, },
"require-dev": { "require-dev": {
"symfony/phpunit-bridge": "^4.4.9|^5.0.9", "symfony/phpunit-bridge": "^4.4.9|^5.0.9",