我有symfony tutorial玩弄,我想知道是否和如何我可以基於URL路徑給定的通配符的量使用不同的路由的路由Symfony2的要求。 這裏是我的路由YAML的代碼:定義基於一系列數字
app:
resource: '@AppBundle/Controller/'
type: annotation
luckynumberSmallNumbers:
path: /lucky/number/{max}
defaults: { _controller: AppBundle:Lucky:smallNumber, max: 10}
requirements:
max: \d+ #TODO: something to define numbers smaller or equal to 10
luckynumberBigNumbers:
path: /lucky/number/{max}
defaults: { _controller: AppBundle:Lucky:bigNumber, max: 10}
requirements:
max: \d+ #TODO: something to define numbers greater than 10
所以如在我的例子路徑將是/幸運/數/ {MAX} 如果在{MAX}給出的數目大於10,另一種方法/控制器應該被稱爲比如果低於或等於數量爲〜10 如何能我在10的要求中定義這個?我只發現了限量表達,我不知道如何彎曲這些我的意願:) 在這裏找到我的回購:https://github.com/mattlang88/first_symfony_project
感謝一堆!
你爲什麼不只是檢查控制器內的值,並採取不同的'如果($最大> 10){doThis(); } else {doThat(); }'?如果仍考慮用兩種路線,你可以使用正則表達式,比如'(10 | [0-9] {1})'或任何你的需求。 –