Fix support for context initializers

This commit is contained in:
Kamil Kokot
2019-01-30 16:51:19 +01:00
parent c3e1a47e63
commit 394b9abdfc
3 changed files with 89 additions and 5 deletions

View File

@@ -88,6 +88,7 @@ final class SymfonyExtension implements Extension
public function process(ContainerBuilder $container): void
{
$this->processEnvironmentHandler($container);
}
private function registerMinkDriver(ExtensionManager $extensionManager): void
@@ -139,10 +140,6 @@ final class SymfonyExtension implements Extension
]);
$definition->addTag(EnvironmentExtension::HANDLER_TAG, ['priority' => 128]);
foreach ($container->findTaggedServiceIds(ContextExtension::INITIALIZER_TAG) as $serviceId => $tags) {
$definition->addMethodCall('registerContextInitializer', [$container->getDefinition($serviceId)]);
}
$container->setDefinition('fob_symfony.environment_handler.context_service', $definition);
}
@@ -248,4 +245,13 @@ final class SymfonyExtension implements Extension
return is_string($bootstrap) ? $bootstrap : null;
}
private function processEnvironmentHandler(ContainerBuilder $container): void
{
$definition = $container->findDefinition('fob_symfony.environment_handler.context_service');
foreach ($container->findTaggedServiceIds(ContextExtension::INITIALIZER_TAG) as $serviceId => $tags) {
$definition->addMethodCall('registerContextInitializer', [$container->getDefinition($serviceId)]);
}
}
}