Symfony2可选路由

时间:2012-04-30 09:20:36

标签: symfony routing

正如Symfony Book建议的那样(http://symfony.com/doc/current/book/routing.html#required-and-optional-placeholders),为了创建一个在路线中使用的选项占位符,您只需要做类似的事情:

participant_list:
       pattern:  /list/{filter}/
       defaults: { _controller: ParticipantBundle:Default:list, filter: 1}

在控制器中定义该变量:

public function listAction($filter) {
…
}

但是,当我访问mypage.dev/list/时,如果没有参数,则表示“找不到GET / list /”的路由。

你知道怎么办?

2 个答案:

答案 0 :(得分:3)

我不确定,但网址必须是mypage.dev/list,最后没有斜线,路由应该是

participant_list:
   pattern:  /list/{filter}
   defaults: { _controller: ParticipantBundle:Default:list, filter: 1}

答案 1 :(得分:0)

尝试在控制器中定义变量的默认值:

public function listAction($filter = 1) {
  …
}