【问题标题】:Symfony2: Full path to action/route in a controllerSymfony2:控制器中动作/路由的完整路径
【发布时间】:2012-11-01 01:24:16
【问题描述】:

我需要控制器内部操作的完整路径,以便通过电子邮件发送。我怎样才能从我的控制器内部实现{{ path('_route') }} 之类的东西,而不是完整路径?

【问题讨论】:

    标签: symfony controller


    【解决方案1】:

    如果您想要本地路径,Juan 的回答是正确的。绝对路径(有助于通过电子邮件发送)需要额外的参数:

    $url = $this->generateUrl('your_route_name', array(), true);
    

    第三个参数表示要生成绝对路径。

    如果您想在视图中使用此 URL,只需将 $url 添加到操作中的响应数组并使用它。

    【讨论】:

    • 其实,要在 Twig 中生成绝对 URL,请使用 url() 函数而不是 path()
    • 我与 TRUE 一起使用,它只在我的本地工作,但不能在远程服务器上工作,所以我将第三个参数更改为 UrlGeneratorInterface::ABSOLUTE_URL,如本 asnwer stackoverflow.com/a/38823820/4380588 中给出的那样,现在它正在工作本地和远程服务器
    【解决方案2】:

    Symfony 3+

    use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
    
    $this->generateUrl('your_route_name', array('/* your route parameters */'), UrlGeneratorInterface::ABSOLUTE_URL);
    

    【讨论】:

    • 谢谢,这是最新的解决方案。
    【解决方案3】:

    尝试以下方法:

    $url = $this->generateUrl('your_route_name');
    

    【讨论】:

      猜你喜欢
      • 2015-02-18
      • 2012-10-13
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      相关资源
      最近更新 更多