2012-07-10 44 views
6

Ví dụ, liên kết:Routing, không giới hạn số thông số

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

nơi:

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

Thuộc tính có thể được bất kỳ số. Thứ tự cũng có thể khác nhau.

Sự khởi đầu của con đường là rõ ràng:

/shop/{category} 

Và phải làm gì tiếp theo là không rõ ràng.

Trong symfony 1, một tập hợp tại sao kết thúc ("/ cửa hàng /: loại/*") và tất cả những gì đã không được đánh dấu rõ ràng, và đi kèm trong một cặp

name -> value 

Câu hỏi: làm thế nào để mô tả các tuyến đường trong symfony 2?

Trả lời

10

Tuyến:

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

và sau đó bạn chỉ có thể phân tích con đường $ trong bộ điều khiển:

class DefaultController extends Controller { 
... 
    public function shopAction($path) { 
     // $path will be 'shop/phones/brend/apple/display/retina/color/red' 
     ... 
    } 
... 
} 
Các vấn đề liên quan