我怎样才能获得symfony的绝对路径网址

时间:2014-05-19 08:42:25

标签: php symfony symfony-2.3

我正在使用symfony,我想获取特定route的网址, 我的route就像这样

project_sign_in:
    pattern:  /signin
    defaults: { _controller: ProjectContactBundle:User:signIn }

我想从这条路线生成网址,以便我可以

localhost/app_dev.php/signin{SERVER-ADDRESS}/app_dev/signin

如果我正在浏览服务器。

3 个答案:

答案 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);
}