如何在Symfony 3.4中获取当前页面的URL

时间:2018-11-29 11:31:42

标签: php symfony symfony-3.4

我的意思是如何获取当前的相对URL,包括文件名(如果有的话),即下面强调的所有内容:

http://hostname/app/app_dev.php/path/to/some/action?even=a%20query%20string
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

我尝试过

$request->getRequestUri();

但是我得到这样的结果

http://hostname/app/app_dev.php/admin/get

我想要这样的结果

http://hostname/myproject_name/user/method/action

如何获取Symfony 3.4

2 个答案:

答案 0 :(得分:1)

也许以下可以帮助您:

https://api.symfony.com/3.4/Symfony/Component/HttpFoundation/Request.html#method_getUri

$request->attributes->get('_route')

答案 1 :(得分:1)

这代表当前请求的基本URL,并以当前请求的路径为前缀。而且它不会返回URL的查询字符串:

$request->getSchemeAndHttpHost().$request->getPathInfo()

例如,该真实网址:

http://127.0.0.1:8001/app_dev.php/homepage?page=3&size=20

以上代码段将返回:

http://127.0.0.1:8001/homepage