【发布时间】:2014-04-07 20:31:16
【问题描述】:
就像标题所说的那样简单。我真正的意思是如何获得当前的相对 URL,包括文件名如果有一个,即下面强调的所有内容:
http://hostname/app/app_dev.php/path/to/some/action?even=a%20query%20string
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
现在,如果您不需要该文件,这很容易,您可以获取 RequestStack,获取当前请求并在服务中使用类似这样的内容:
$request->getPathInfo();
但在我当前在这个问题中的示例中,会带回以下内容:
/path/to/some/action?even=a%20query%20string
没有 /app_dev.php,这对我来说是目前很重要的部分。我已经用尽的另一种选择是使用路由器来生成当前路由,它在某些方面确实工作得很好,它确实显示了文件名,但是如果查询字符串的某些部分不是'路由中定义的 t 包含在当前请求中,那么它不会显示在结果中。
所以,让我们在上面的示例中再次假设 even 查询字符串未包含在路由中,我无法生成它,并且此方法只会返回如下内容:
/app_dev.php/path/to/some/action
当然,这仍然不理想。
那么,我怎样才能在此处可靠地获得我正在寻找的一切?
【问题讨论】: