当您使用@Route {$param} 执行操作时,如何将配置设置为不接收来自 url 的参数?

How to set configure to not receive parameter from url when you have Action with @Route {$param}?

初学者问题。

如果您有像这样从 URL 接收参数的操作

    /**
    * @Route("/{id}")
    * @Template()
    */
   public function showAction($id)
   {
       return array('entity'=> $id);
   }

并且如果您希望用户在 ../web/login 后面登录 url。

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

我会说你应该把你的 URL 做得更好。

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

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

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

仅当 id 为整数时才会匹配。否则它将寻找下一条可用路线。