2012-10-23 120 views
0

我有一個簡單的問題。有沒有辦法使用cotroler路由從鏈接以獲得這樣的:Symfony 2在控制器中的路由

some-text-link-282237 

值282237.

現在我傳遞整個URL由:

@Route("/route/{id}", name="my_route") 

,然後預浸匹配它,但也許有一個更清潔的方式。該值是百達在字符串單獨在去年年底( - )

感謝您的幫助,併爲語言錯誤對不起

回答

1
/** 
* @Route("/route/{slug}-{id}", 
*  name="route_name", 
*  requirements={"slug":"[a-zA-Z0-9\-]+","id":"\d+"}) 
*/ 
0

你可以嘗試這樣的路線:@Route("/route/{some}/{text}/{link}/{id},直接讓你的ID作爲參數或改變航線分離:http://symfony.com/doc/2.0/cookbook/routing/slash_in_parameter.html直接使用「 - 」作爲一個路徑分隔符

+0

謝謝,但我不能,我需要它,只有在這種情況下,所以我不能改變路線參數整個項目。所以我想preg_match留下來吧? –

+0

那麼爲什麼你不叫這個URI:'some/text/link/282237'?並且使用這種路線的每個參數:'@Route(「/ route/{some}/{text}/{link}/{id}' – Snroki

+0

因爲客戶端需要它(愚蠢!) –