Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symfony2: Routing priority

Tags:

php

symfony

is there anyway to prioritize routes in Symfony2?

i'm using annotation it looks like this

Controllers

//TestController.php

/**
 * @Route("/test")
 */
class TestController extends Controller
{
    /**
     * @Route("/a", name="test_a")
     */
   .....

//DummyController.php
/**
 * @Route("/")
 */
class DummyController extends Controller
{
    /**
      * @Route("/{varA}/{varB}", name="dummy_one")
      */
   .....

Config

//routing.yml

acme_bundle:
    resource: "@Acme/Controller"
    type:     annotation

Goal

URL      , Actual              , Goal
/test/a  , DummyController     , TestController  //Wrong
/test/b  , DummyController     , DummyController //Good

How can i force TestController to be tested first ?

Thanks

like image 318
trrrrrrm Avatar asked Oct 23 '25 16:10

trrrrrrm


1 Answers

from your example i can assume that your dummy and test controller are in the same bundle, if this is the case then you just lists the controllers in that bundle individually in your routing.yml. the order you list them is the order they will be checked.

acme_test:
    resource: "@Acme/Controller/TestController.php"
    type:     annotation

acme_dummy:
    resource: "@Acme/Controller/DummyController.php"
    type:     annotation

if they are in different bundles, just list the bundle with the test controller first.

see the symfony routing doc for details. http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/routing.html#activation

like image 190
Derick F Avatar answered Oct 25 '25 05:10

Derick F