У меня есть следующие (тест) установка:Перенаправление с исключением переменной
web.php
Route::get("test/test","[email protected]");
Route::get("test/numeric","[email protected]");
Route::get("forbidden", "[email protected]")
TestController.php
use \Symfony\Component\HttpKernel\Exception\HTTPException;
public class TestController {
public function test() {
return redirect()->to("/forbidden")->with("exception",new HttpException(403));
}
public function numeric() {
return redirect()->to("/forbidden")->with("exception",403);
}
public function exception() {
if (\Session::get("exception") instanceof \Throwable) {
throw \Session::get("exception"); //Let the default handler handle it.
} else if (is_numeric(\Session::get("exception"))) {
throw new HttpException(\Session::get("exception"));
} else {
return "Empty exception";
}
}
}
Когда я перейти к /test/test
I всегда появляется «Пустое исключение». Однако /test/numeric
показывает исключение нормально. Кроме того, я проверял содержимое сеанса в обоих случаях, в первом случае объект исключения вообще не передается.
Я пропустил что-то очевидное здесь?