Sulu\Bundle\RouteBundle\DependencyInjection\RouteGeneratorCompilerPass::process PHP Method

process() public method

public process ( ContainerBuilder $container )
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function process(ContainerBuilder $container)
    {
        if (!$container->hasDefinition(self::SERVICE_ID) || !$container->hasParameter(self::PARAMETER_NAME)) {
            return;
        }
        $config = $container->getParameter(self::PARAMETER_NAME);
        $generators = [];
        foreach ($container->findTaggedServiceIds(self::TAG_NAME) as $id => $tags) {
            foreach ($tags as $attributes) {
                $generators[$attributes['alias']] = $id;
            }
        }
        $services = [];
        foreach ($config as $item) {
            $serviceId = $generators[$item['generator']];
            $services[$item['generator']] = new Reference($serviceId);
            // validate options
            $generator = $container->get($serviceId);
            $optionsResolver = $generator->getOptionsResolver($item['options']);
            $optionsResolver->resolve($item['options']);
        }
        $definition = $container->getDefinition(self::SERVICE_ID);
        $definition->replaceArgument(0, $services);
    }
RouteGeneratorCompilerPass