【问题标题】:optional parameters in routes defined through annotations通过注解定义的路由中的可选参数
【发布时间】:2011-08-08 14:00:21
【问题描述】:

有没有更优雅的方法来定义带注释的路由中的可选参数,然后定义 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”的字段,但对语法不确定

谢谢

【问题讨论】:

    标签: symfony


    【解决方案1】:

    Symfony 在@Route 上有一个页面:

    例如,也许你可以试试。

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

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

    【讨论】:

    • 始终只需要知道在哪里可以找到信息。我以前从未研究过捆绑参考。谢谢
    • 我本来想问同样的问题.. 但是如果你有多个 null 或空字符串默认值,它会创建像 /1/en///1234/23 这样的路径,并且 Symfony 抱怨没有匹配的路由。
    猜你喜欢
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多