我正在使用symfony,我想获取特定route
的网址,
我的route
就像这样
project_sign_in:
pattern: /signin
defaults: { _controller: ProjectContactBundle:User:signIn }
我想从这条路线生成网址,以便我可以
localhost/app_dev.php/signin
或{SERVER-ADDRESS}/app_dev/signin
如果我正在浏览服务器。
答案 0 :(得分:5)
最后一个兼性参数必须为true才能生成绝对URL:
$router->generate('project_sign_in', array(), true);
在树枝上:
{{ path('project_sign_in', {}, true) }}
{# or #}
{{ url('project_sign_in') }}
控制器中的:
$this->generateUrl('project_sign_in', array(), true );
答案 1 :(得分:2)
在版本4.0中使用路由组件:
<?php
use Symfony\Component\Routing\Generator\UrlGenerator;
UrlGenerator->generate('project_sign_in', [], UrlGenerator::ABSOLUTE_URL);
答案 2 :(得分:2)
在Symfony 5.0中,如果您正在使用“路由到服务”:
namespace App\Service;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
.
.
.
private $router;
public function __construct(UrlGeneratorInterface $router)
{
$this->router = $router;
}
public function foo()
{
$this->router->generate('bar', [], urlGeneratorInterface::ABSOLUTE_URL);
}