mirror of
https://github.com/twigphp/Twig.git
synced 2026-08-30 12:06:56 +00:00
Allowing compat with Twig 2 by conditionally calling method
This commit is contained in:
+8
-2
@@ -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']]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user