概要
Laravelで500エラーページに強制的に飛ばす方法をメモ。
結論を言うと、コントローラーで1行書くだけでページに飛ばす事ができる。
abort(500);
使用例
例えばAuth::user()などで、ログイン中のユーザーから値を取る際、ログイン中のユーザーが管理者の権限で削除されたり、存在しない状態となった場合、WEBアプリが開発者用のエラーを吐いてしまう。
これを防止するために、コントローラーのメソッドの先頭にabort(500);を利用する。
// ユーザー情報が存在するか確認
if (empty(Auth::user()->id)) {
abort(500);
}
これでユーザー情報が存在しない場合、500ページに飛ばす事ができる。
ちなみにabort(404);などで他のエラーページを表示する事も可能。
abort(404);
jsonの中に入れることもできる。
return response()->json(['message' => 'error'], 500);
