在請求偵聽器中,我收到一個請求,我需要在其中檢查某些查詢參數是否存在,如果存在,則重定向到稍微更改的 URL:
所以我進行了相應的檢查Request::query
和修改。
if ($request->query->has('foo')) {
$request->query->set('foo', 'bar');
}
if ($request->query->has('baz')) {
$request->query->remove('baz');
}
但在這之後我打電話:
$request->getUri()
$request->getRequestUri()
...並且返回的 URL 仍然具有查詢字符串中的foo
和的原始值baz
。
我可以直接從請求對像中獲取修改後的 URL 嗎?
感謝和問候。
一需要打電話overrideGlobals()
。
從它的文檔塊:
根據此請求實例覆蓋 PHP 全局變量。
if ($request->query->has('foo')) {
$request->query->set('foo', 'bar');
}
if ($request->query->has('baz')) {
$request->query->remove('baz');
}
$request->overrideGlobals();
$request->getUri();
現在它將打印正確的 URL。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句