mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-06 23:48:50 +00:00
Fix compatibility with Symfony 8
This commit is contained in:
+24
-5
@@ -15,12 +15,31 @@ use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
|
||||
class MissingExtensionSuggestorPass implements CompilerPassInterface
|
||||
{
|
||||
/** @return void */
|
||||
public function process(ContainerBuilder $container)
|
||||
if (!method_exists(ContainerBuilder::class, 'getAutoconfiguredAttributes')) {
|
||||
class MissingExtensionSuggestorPass implements CompilerPassInterface
|
||||
{
|
||||
if ($container->getParameter('kernel.debug')) {
|
||||
public function process(ContainerBuilder $container): void
|
||||
{
|
||||
if (!$container->getParameter('kernel.debug')) {
|
||||
return;
|
||||
}
|
||||
$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']])
|
||||
;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
class MissingExtensionSuggestorPass implements CompilerPassInterface
|
||||
{
|
||||
/** @return void */
|
||||
public function process(ContainerBuilder $container)
|
||||
{
|
||||
if (!$container->getParameter('kernel.debug')) {
|
||||
return;
|
||||
}
|
||||
$twigDefinition = $container->getDefinition('twig');
|
||||
$twigDefinition
|
||||
->addMethodCall('registerUndefinedFilterCallback', [[new Reference('twig.missing_extension_suggestor'), 'suggestFilter']])
|
||||
|
||||
@@ -18,13 +18,36 @@ use Symfony\Component\DependencyInjection\Extension\Extension;
|
||||
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
|
||||
use Twig\Extra\TwigExtraBundle\Extensions;
|
||||
|
||||
if (!method_exists(ContainerBuilder::class, 'getAutoconfiguredAttributes')) {
|
||||
/** @internal */
|
||||
trait TwigExtraExtensionTrait
|
||||
{
|
||||
public function load(array $configs, ContainerBuilder $container): void
|
||||
{
|
||||
$this->doLoad($configs, $container);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/** @internal */
|
||||
trait TwigExtraExtensionTrait
|
||||
{
|
||||
/** @return void */
|
||||
public function load(array $configs, ContainerBuilder $container)
|
||||
{
|
||||
$this->doLoad($configs, $container);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
*/
|
||||
class TwigExtraExtension extends Extension
|
||||
{
|
||||
/** @return void */
|
||||
public function load(array $configs, ContainerBuilder $container)
|
||||
use TwigExtraExtensionTrait;
|
||||
|
||||
private function doLoad(array $configs, ContainerBuilder $container): void
|
||||
{
|
||||
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Resources/config'));
|
||||
$configuration = $this->getConfiguration($configs, $container);
|
||||
|
||||
@@ -15,13 +15,25 @@ use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
||||
use Twig\Extra\TwigExtraBundle\DependencyInjection\Compiler\MissingExtensionSuggestorPass;
|
||||
|
||||
class TwigExtraBundle extends Bundle
|
||||
{
|
||||
/** @return void */
|
||||
public function build(ContainerBuilder $container)
|
||||
if (!method_exists(ContainerBuilder::class, 'getAutoconfiguredAttributes')) {
|
||||
class TwigExtraBundle extends Bundle
|
||||
{
|
||||
parent::build($container);
|
||||
public function build(ContainerBuilder $container): void
|
||||
{
|
||||
parent::build($container);
|
||||
|
||||
$container->addCompilerPass(new MissingExtensionSuggestorPass());
|
||||
$container->addCompilerPass(new MissingExtensionSuggestorPass());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
class TwigExtraBundle extends Bundle
|
||||
{
|
||||
/** @return void */
|
||||
public function build(ContainerBuilder $container)
|
||||
{
|
||||
parent::build($container);
|
||||
|
||||
$container->addCompilerPass(new MissingExtensionSuggestorPass());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user