2012-07-10 10 views
6

Na przykład związek:Routing, nieograniczona liczba parametrów

/shop/phones/brend/apple/display/retina/color/red 

gdzie:

phones - category alias 
brend  - name of attribute; apple - attribute value 
display - name of attribute; retina - attribute value 
color  - name of attribute; red  - attribute value 

Atrybuty mogą mieć dowolną liczbę. Zamówienie może być inne.

Początek trasy jest jasne:

/shop/{category} 

I co dalej jest niejasna.

W Symfony 1, zestaw na gwiazdę końcowego („/ sklep/Kategoria:/*”) i wszystko, co nie zostało wyraźnie zaznaczone, i są w pary

name -> value 

pytanie: jak opisać trasę w symfony 2?

Odpowiedz

10

Trasa:

my_shop: 
    pattern: "/{path}" 
    defaults: { _controller: "MyShopBundle:Default:shop" } 
    requirements: 
    path: "^shop/.+" 

i wtedy można po prostu przeanalizować ścieżkę dolarów w kontrolerze:

class DefaultController extends Controller { 
... 
    public function shopAction($path) { 
     // $path will be 'shop/phones/brend/apple/display/retina/color/red' 
     ... 
    } 
... 
}