protected function registerContainerConfiguration(KernelInterface $kernel, ContainerBuilder $containerBuilder, LoaderInterface $loader) { // Register core services $containerBuilder->register("kernel", KernelInterface::class)->setSynthetic(true); $containerBuilder->register("event_dispatcher", EventDispatcher::class); $containerBuilder->register("kernel.task_collection", TaskCollection::class); // Then core compiler passes $containerBuilder->addCompilerPass(new RegisterListenersPass())->addCompilerPass(new RegisterTasksPass()); // Register modules configuration foreach ($kernel->getRegisteredModules() as $module) { if ($module instanceof SfContainerInitializerModuleInterface) { $module->buildContainer($containerBuilder); if (null !== ($cont = $module->registerContainerConfiguration($loader))) { $containerBuilder->merge($cont); } } } }