use*_*013 4 php symfony symfony-2.3
我正在使用symfony,我想得到一个特定的网址route,我route是这样的
project_sign_in:
pattern: /signin
defaults: { _controller: ProjectContactBundle:User:signIn }
Run Code Online (Sandbox Code Playgroud)
我想从这条路线生成网址,所以我可以得到
localhost/app_dev.php/signin
要么 {SERVER-ADDRESS}/app_dev/signin
如果我在浏览服务器
在 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);
}
Run Code Online (Sandbox Code Playgroud)
最后一个兼性参数必须为true才能生成绝对URL:
$router->generate('project_sign_in', array(), true);
Run Code Online (Sandbox Code Playgroud)
在树枝上:
{{ path('project_sign_in', {}, true) }}
{# or #}
{{ url('project_sign_in') }}
Run Code Online (Sandbox Code Playgroud)
在控制器中:
$this->generateUrl('project_sign_in', array(), true );
Run Code Online (Sandbox Code Playgroud)
在版本4.0中使用路由组件:
<?php
use Symfony\Component\Routing\Generator\UrlGenerator;
UrlGenerator->generate('project_sign_in', [], UrlGenerator::ABSOLUTE_URL);
Run Code Online (Sandbox Code Playgroud)