Symfony2:控制器中动作/路由的完整路径
Posted
技术标签:
【中文标题】Symfony2:控制器中动作/路由的完整路径【英文标题】:Symfony2: Full path to action/route in a controller 【发布时间】:2012-11-01 01:24:16 【问题描述】:我需要控制器内部操作的完整路径,以便通过电子邮件发送。我怎样才能从我的控制器内部实现 path('_route')
之类的东西,而不是完整路径?
【问题讨论】:
【参考方案1】:如果您想要本地路径,Juan 的回答是正确的。绝对路径(有助于通过电子邮件发送)需要额外的参数:
$url = $this->generateUrl('your_route_name', array(), true);
第三个参数表示要生成绝对路径。
如果您想在视图中使用此 URL,只需将 $url
添加到操作中的响应数组并使用它。
【讨论】:
其实,要在 Twig 中生成绝对 URL,请使用url()
函数而不是 path()
。
我与 TRUE 一起使用,它只在我的本地工作,但不能在远程服务器上工作,所以我将第三个参数更改为 UrlGeneratorInterface::ABSOLUTE_URL,如本 asnwer ***.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');
【讨论】:
以上是关于Symfony2:控制器中动作/路由的完整路径的主要内容,如果未能解决你的问题,请参考以下文章