在請求偵聽器中,我收到一個請求,我需要在其中檢查某些查詢引數是否存在,如果存在,則重定向到稍微更改的 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 嗎?
感謝和問候。
uj5u.com熱心網友回復:
一需要打電話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。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/362210.html
