如何使用@Route {$ param}进行操作时将configure设置为不从url接收参数?

时间:2015-01-23 21:28:42

标签: symfony

初学者问题。

如果你有从这个

这样的URL接收参数的动作
    /**
    * @Route("/{id}")
    * @Template()
    */
   public function showAction($id)
   {
       return array('entity'=> $id);
   }

如果您希望用户在../web/login网址后面登录。

如何将configure设置为不从url接收login作为参数?

1 个答案:

答案 0 :(得分:2)

我想说你应该更好地建立你的网址。

但是您可以通过向{id}参数添加验证规则(= requierement)来避免您描述的行为。

我假设这个id是一个整数。然后您可以简单地执行以下操作:

/**
 * @Route("/{id}", requirements={"id" = "\d+"})
 */
public function showAction($id)
{
}

仅当id是整数时才匹配。否则,它将寻找下一个可用的路线。