首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写此Symfony2 URL重定向的更好方法

编写此Symfony2 URL重定向的更好方法
EN

Stack Overflow用户
提问于 2013-03-18 20:43:34
回答 1查看 1.8K关注 0票数 0

这是可行的,但它很混乱。我一直在摆弄参数包,但没有什么比我的代码工作得更好。

我只想重定向到同一页并删除一个查询字符串,但要编写比下面更好的代码:

代码语言:javascript
复制
$r = $this->request;

$url = $r->getUri();

$replace = "abc=" . $r->query->get( 'abc' );
$url = str_replace("?".$replace, "?", $url);
$url = str_replace("&".$replace, "", $url);

$response = new RedirectResponse($url);
$this->event->setResponse($response);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-18 20:57:46

要删除整个查询字符串,请执行以下操作:

代码语言:javascript
复制
$response = new RedirectResponse($request->getPathInfo());

要仅从查询字符串中删除参数,请执行以下操作:

代码语言:javascript
复制
$route  = $request->get('_route');
$params = array_merge(
    $request->get('_route_params'), 
    $request->query->all()
);

unset($params['param_to_remove']);
// or $params['param_to_remove'] = null;

$response = new RedirectResponse($this->router->generate($route, $params);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15477147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档