From 64ad9e659ac34d56611f8aaa6ef161ebb8bf5fc0 Mon Sep 17 00:00:00 2001 From: Alexandre Daubois Date: Mon, 20 Nov 2023 10:25:52 +0100 Subject: [PATCH] [DependencyInjection] Prepend extension config with ContainerConfigurator --- bundles/prepend_extension.rst | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/bundles/prepend_extension.rst b/bundles/prepend_extension.rst index bed3d06da43..4bd1c7c6a67 100644 --- a/bundles/prepend_extension.rst +++ b/bundles/prepend_extension.rst @@ -186,6 +186,34 @@ method:: The ``prependExtension()`` method, like ``prepend()``, is called only at compile time. +Alternatively, you can use the ``prepend`` parameter of the +:method:`Symfony\\Component\\DependencyInjection\\Loader\\ContainerConfigurator::extension` +method:: + + use Symfony\Component\DependencyInjection\ContainerBuilder; + use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; + use Symfony\Component\HttpKernel\Bundle\AbstractBundle; + + class FooBundle extends AbstractBundle + { + public function prependExtension(ContainerConfigurator $containerConfigurator, ContainerBuilder $containerBuilder): void + { + // ... + + $containerConfigurator->extension('framework', [ + 'cache' => ['prefix_seed' => 'foo/bar'], + ], prepend: true); + + // ... + } + } + +.. versionadded:: 7.1 + + The ``prepend`` parameter of the + :method:`Symfony\\Component\\DependencyInjection\\Loader\\ContainerConfigurator::extension` + method was added in Symfony 7.1. + More than one Bundle using PrependExtensionInterface ----------------------------------------------------