通过注释定义的路径中的可选参数

时间:2011-08-08 14:00:21

标签: symfony

是否有更优雅的方法在注释路径中定义可选参数然后定义2个注释?

我是这样做的:

/**
*
* @Route("/view/{lang}/{file}", name="legacy_translation_view_file")
* @Route("/view/{lang}", name="legacy_translation_view")
* @Template()
*/
public function viewAction($lang,$file=null)
{
   ...
}

我已经看到注释类有一个名为“defaults”的字段但是对语法不太确定

THX

1 个答案:

答案 0 :(得分:45)

Symfony在@Route上有一个页面:

也许你可以试试。

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

如果null不起作用,请尝试空字符串。