Skip to content

Commit 4d877f8

Browse files
committed
Merge pull request #338 from andrey1s/tag-enhancer
use tag dynamic_router_route_enhancer for the all enhancer
2 parents c5f919c + 3bb6ee8 commit 4d877f8

File tree

3 files changed

+24
-10
lines changed

3 files changed

+24
-10
lines changed

DependencyInjection/CmfRoutingExtension.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,15 +145,18 @@ private function setupDynamicRouter(array $config, ContainerBuilder $container,
145145

146146
// if any mappings are defined, set the respective route enhancer
147147
if (count($config['controllers_by_type']) > 0) {
148-
$dynamic->addMethodCall('addRouteEnhancer', array(new Reference('cmf_routing.enhancer.controllers_by_type'), 60));
148+
$container->getDefinition('cmf_routing.enhancer.controllers_by_type')
149+
->addTag('dynamic_router_route_enhancer', array('priority' => 60));
149150
}
150151

151152
if (count($config['controllers_by_class']) > 0) {
152-
$dynamic->addMethodCall('addRouteEnhancer', array(new Reference('cmf_routing.enhancer.controllers_by_class'), 50));
153+
$container->getDefinition('cmf_routing.enhancer.controllers_by_class')
154+
->addTag('dynamic_router_route_enhancer', array('priority' => 50));
153155
}
154156

155157
if (count($config['templates_by_class']) > 0) {
156-
$dynamic->addMethodCall('addRouteEnhancer', array(new Reference('cmf_routing.enhancer.templates_by_class'), 40));
158+
$container->getDefinition('cmf_routing.enhancer.templates_by_class')
159+
->addTag('dynamic_router_route_enhancer', array('priority' => 40));
157160

158161
/*
159162
* The CoreBundle prepends the controller from ContentBundle if the
@@ -176,15 +179,18 @@ private function setupDynamicRouter(array $config, ContainerBuilder $container,
176179
$definition = $container->getDefinition('cmf_routing.enhancer.controller_for_templates_by_class');
177180
$definition->replaceArgument(2, $controllerForTemplates);
178181

179-
$dynamic->addMethodCall('addRouteEnhancer', array(new Reference('cmf_routing.enhancer.controller_for_templates_by_class'), 30));
182+
$container->getDefinition('cmf_routing.enhancer.controller_for_templates_by_class')
183+
->addTag('dynamic_router_route_enhancer', array('priority' => 30));
180184
}
181185

182186
if (null !== $config['generic_controller'] && $defaultController !== $config['generic_controller']) {
183-
$dynamic->addMethodCall('addRouteEnhancer', array(new Reference('cmf_routing.enhancer.explicit_template'), 10));
187+
$container->getDefinition('cmf_routing.enhancer.explicit_template')
188+
->addTag('dynamic_router_route_enhancer', array('priority' => 10));
184189
}
185190

186191
if (null !== $defaultController) {
187-
$dynamic->addMethodCall('addRouteEnhancer', array(new Reference('cmf_routing.enhancer.default_controller'), -100));
192+
$container->getDefinition('cmf_routing.enhancer.default_controller')
193+
->addTag('dynamic_router_route_enhancer', array('priority' => -100));
188194
}
189195

190196
if (count($config['route_filters_by_id']) > 0) {

Resources/config/routing-dynamic.xml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<service id="cmf_routing.enhancer.route_content" class="%cmf_routing.enhancer.route_content.class%">
2424
<argument>_route_object</argument>
2525
<argument>_content</argument>
26+
<tag name="dynamic_router_route_enhancer" priority="100"/>
2627
</service>
2728

2829
<service id="cmf_routing.enhancer.default_controller" class="%cmf_routing.enhancer.default_controller.class%" public="false">
@@ -69,10 +70,6 @@
6970
<argument type="service" id="event_dispatcher" on-invalid="ignore"/>
7071
<argument type="service" id="cmf_routing.route_provider"/>
7172
<call method="setRequest"><argument type="service" id="request" on-invalid="null" strict="false"/></call>
72-
<call method="addRouteEnhancer">
73-
<argument type="service" id="cmf_routing.enhancer.route_content"/>
74-
<argument>100</argument>
75-
</call>
7673
</service>
7774

7875
<service id="cmf_routing.nested_matcher" class="%cmf_routing.nested_matcher.class%">

Tests/Unit/DependencyInjection/CmfRoutingExtensionTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ public function testLoadDefault()
4848
new Reference('router.default'),
4949
100,
5050
));
51+
$this->assertContainerBuilderHasServiceDefinitionWithTag(
52+
'cmf_routing.enhancer.route_content',
53+
'dynamic_router_route_enhancer',
54+
array('priority' => 100)
55+
);
5156
}
5257

5358
public function testLoadConfigured()
@@ -113,6 +118,12 @@ public function testWhitespaceInPriorities()
113118
$this->assertContainerBuilderHasParameter('cmf_routing.controllers_by_type', array(
114119
'Acme\Foo' => 'acme_main.controller:indexAction',
115120
));
121+
122+
$this->assertContainerBuilderHasServiceDefinitionWithTag(
123+
'cmf_routing.enhancer.controllers_by_type',
124+
'dynamic_router_route_enhancer',
125+
array('priority' => 60)
126+
);
116127
}
117128

118129
/**

0 commit comments

Comments
 (0)