Symfony 2.7中是否有一个函数返回当前端口号的当前绝对URL?
答案 0 :(得分:10)
Request
对象包含URI和端口。所以从控制器中你可以
public function indexAction(Request $request)
{
$uri = $request->getUri();
$port = $request->getPort();
}
如果您不在控制器中,请确保在您的班级中注入RequestStack
,然后从主请求中获取uri和端口
$requestStack->getMasterRequest()->getUri();
答案 1 :(得分:2)
您可以在树枝模板中直接使用{{ app.request.uri }}
。
例如:如果当前URI为http://www.example.com:8080/page?q=test&p=2,那么{{ app.request.uri }}
将返回相同的字符串。
答案 2 :(得分:2)
生成绝对URL应包括端口。
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
...
public function indexAction(Request $request)
{
$link = $this->generateUrl(
'route_name', [
'route'=>'params'
],
UrlGeneratorInterface::ABSOLUTE_URL
);
return $this->render('template', [
'link' => $link;
]);
}