Вы можете сделать это, добавив CompilerPass
.Для простого CompilerPass
вы можете добавить его непосредственно в класс приложения Kernel
, реализовав CompilerPassInterface
:
class Kernel extends BaseKernel implements CompilerPassInterface
{
use MicroKernelTrait;
...
public function process(ContainerBuilder $container)
{
$container
->getDefinition('doctrine.dbal.default_connection')
->addMethodCall('setContainer', [
new Reference('service_container')
]);
}
}
Обратите внимание, что, как уже упоминалось другими пользователями, это не очень хорошая практика.Вы должны ввести именно то, что вам нужно, а не контейнерный сервис.