簡體   English   中英

通過更改查詢字符串參數,非路由相關,在Symfony2中進行簡單重定向

[英]Simple redirect in Symfony2 by changing a query string parameter, NOT route related

這應該很簡單,我一直在谷歌搜索,但我一直在提出“路線”相關的建議。

我只想執行重定向到同一頁面並修改其中一個查詢字符串參數(清除一個或設置一個)。

我無法在任何地方看到如何做到這一點。

一個選項可能是手動完全生成URL並使用此猜測,但這似乎不是一個非常好的方法:

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

我希望我明白你打算做什么......在你的控制器(?)中使用

$this->generateUrl(
    $request->attributes->get('_route'),
    array_merge(
        $request->query->all(),
        array('param' => 'val') // change the param
    )
);

生成網址。

這種重定向的原因是什么? 我想你想從控制器重定向,不是嗎? 我不確定你想要得到什么結果。 您必須小心在控制器中重定向同一個動作控制器(重定向循環)。

但是,在控制器中,您可以通過以下方式執

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

在我看來,你應該考慮編寫一個事件監聽器: http//symfony.com/doc/current/book/internals.html#handling-requests

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM