我試圖找到一個「referrer」對象用於我的 控制器。我預計會有一個類似於請求 對象的對象,該對象的參數指定_controller,_route和 參數。Symfony2:引用類似於請求對象的對象?
我所試圖做的是一個語言切換行動重定向 新的語言用戶到同一頁面。沿着 線的東西:
public function switchLangAction($_locale)
{
$args = array();
$newLang = ($_locale == 'en') ? 'fr' : 'en';
// this is how I would have hoped to get a reference to the referrer request.
$referrer = $this->get('referrer');
$referrerRoute = $referrer->parameters->get('_route');
$args = $referrer->parameters->get('args'); // not sure how to get the route args out of the params either!
$args['_locale'] = $newLang;
$response = new RedirectResponse($this->generateUrl(
$referrerRoute,
$args
));
return $response;
}
這也有可能是有另一種方式來做到這一點 - 我知道 軌有「redirect_to的:背」爲例方法。
任何幫助將不勝感激。
好的,謝謝,gilden! –
在寫這篇文章後,我已經瞭解了更多關於Symfony2的知識。更好的實現可以在這裏找到(http://stackoverflow.com/questions/7414243/symfony2-help-please-with-backward-uri-referrer-during-switching-locale/7423276#7423276)。 – gilden