Skip to content

Commit

Permalink
[FrameworkBundle] converted the special routing resolver to a DIC com…
Browse files Browse the repository at this point in the history
…piler pass
  • Loading branch information
fabpot committed Dec 23, 2010
1 parent 3516a04 commit 385ad72
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 69 deletions.
@@ -0,0 +1,37 @@
<?php

namespace Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler;

use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;

/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien.potencier@symfony-project.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

/**
* Adds tagged routing.loader services to routing.resolver service
*
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
*/
class RoutingResolverPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
if (false === $container->hasDefinition('routing.resolver')) {
return;
}

$definition = $container->getDefinition('routing.resolver');

foreach ($container->findTaggedServiceIds('routing.loader') as $id => $attributes) {
$definition->addMethodCall('addLoader', array(new Reference($id)));
}
}
}
2 changes: 2 additions & 0 deletions src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
Expand Up @@ -4,6 +4,7 @@

use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\AddSecurityVotersPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\ConverterManagerPass;
use Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\RoutingResolverPass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Bundle\Bundle;
use Symfony\Component\Form\FormConfiguration;
Expand Down Expand Up @@ -44,5 +45,6 @@ public function registerExtensions(ContainerBuilder $container)

$container->addCompilerPass(new AddSecurityVotersPass());
$container->addCompilerPass(new ConverterManagerPass());
$container->addCompilerPass(new RoutingResolverPass());
}
}
Expand Up @@ -7,7 +7,7 @@
<parameters>
<parameter key="router.class">Symfony\Component\Routing\Router</parameter>
<parameter key="routing.loader.class">Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader</parameter>
<parameter key="routing.resolver.class">Symfony\Bundle\FrameworkBundle\Routing\LoaderResolver</parameter>
<parameter key="routing.resolver.class">Symfony\Component\Routing\Loader\LoaderResolver</parameter>
<parameter key="routing.loader.xml.class">Symfony\Component\Routing\Loader\XmlFileLoader</parameter>
<parameter key="routing.loader.yml.class">Symfony\Component\Routing\Loader\YamlFileLoader</parameter>
<parameter key="routing.loader.php.class">Symfony\Component\Routing\Loader\PhpFileLoader</parameter>
Expand All @@ -20,9 +20,7 @@
</parameters>

<services>
<service id="routing.resolver" class="%routing.resolver.class%">
<argument type="service" id="service_container" />
</service>
<service id="routing.resolver" class="%routing.resolver.class%" />

<service id="routing.loader.xml" class="%routing.loader.xml.class%">
<tag name="routing.loader" />
Expand Down
65 changes: 0 additions & 65 deletions src/Symfony/Bundle/FrameworkBundle/Routing/LoaderResolver.php

This file was deleted.

0 comments on commit 385ad72

Please sign in to comment.