2012-07-10 212 views
6

例如數量不受限制,連結:路由,參數

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

其中:

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

屬性可以是任何數量。順序也可能不同。

路線的開始是明確的:

/shop/{category} 

而接下來要做的事還不清楚。

在symfony中1,一組末星(「/店/:類/ *」)以及所有的一切沒有明確標註,並拿出一對

name -> value 

的問題:如何在symfony 2中描述路線?

回答

10

路線:

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

,然後你可以只解析在控制器中的$ PATH:

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