Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过更改查询字符串参数(与路由无关),在Symfony2中进行简单重定向_Php_Symfony - Fatal编程技术网

Php 通过更改查询字符串参数(与路由无关),在Symfony2中进行简单重定向

Php 通过更改查询字符串参数(与路由无关),在Symfony2中进行简单重定向,php,symfony,Php,Symfony,这应该很简单,我已经在谷歌搜索过了,但我一直在提出与“路线”相关的建议 我只想重定向到同一个页面并修改其中一个查询字符串参数(清除一个或设置一个) 我在任何地方都看不到该怎么做 一种选择可能是完全手动生成URL并使用此方法,但这似乎不是一种很好的方法: $this->router->generate("http://domain.com?a=1") 我希望我能理解你打算做什么。。。在控制器(?)中使用 生成url。此重定向的原因是什么?我想你想从控制器重新定向,是吗?我不知道你想得

这应该很简单,我已经在谷歌搜索过了,但我一直在提出与“路线”相关的建议

我只想重定向到同一个页面并修改其中一个查询字符串参数(清除一个或设置一个)

我在任何地方都看不到该怎么做

一种选择可能是完全手动生成URL并使用此方法,但这似乎不是一种很好的方法:

$this->router->generate("http://domain.com?a=1")

我希望我能理解你打算做什么。。。在控制器(?)中使用


生成url。

此重定向的原因是什么?我想你想从控制器重新定向,是吗?我不知道你想得到什么结果。对于同一动作控制器,在控制器中重定向时必须小心(重定向循环)

但是,在控制器中,您可以通过以下方式执行此操作:

public function indexAction()
{
    // ...
    return $this->redirect($this->generateUrl($request->attributes->get('_route'), array('paramName' => $paramValue)));
}

我认为,你应该考虑编写一个事件侦听器:

绝对路由器不要使用路由器。您可以直接将绝对URL作为重定向参数传递!一个例子是更新分页搜索结果的“page”参数。
public function indexAction()
{
    // ...
    return $this->redirect($this->generateUrl($request->attributes->get('_route'), array('paramName' => $paramValue)));
}