したがって、私は、1つのビューだけで、考えられるすべての予期しないエラー(401,404,500など)をカバーしたいと思います。可能性のあるすべてのエラーに同じビューを表示したい。私は解決策を思いついた - 同じコードをコピー/ペーストし、異なるエラーコードでビューの名前を付けるだけです。しかし、それは堅くて間違っているようです。これを達成するより良い方法はありますか?Laravel - すべての可能性のあるエラーの1つのビュー
2
A
答えて
1
この効果を達成するためのよりクリーンな方法は、Laravel's exception handlerを変更することです。
App\Exceptions\Handler
を変更してすべてのエラーをキャッチし、共有カスタムエラーページを返します。
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $e
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $e)
{
if ($e instanceof NotFoundHttpException) {
return response()->view('errors.custom', [], 404);
}
return parent::render($request, $e);
}
いくつかのカスタマイズが完全にあなたの共有カスタムビューに渡されたデータをどのようにしたい正確に何&を満たすために必要とすることができます。
-1
ハンドラのビューにエラーコードを渡し、ページにコードを表示し、エラーコードに応じてすべてのメッセージを処理するスイッチを使用します。
-1
独自のビュー(デフォルトは404エラー)を作成し、コード内でtry catchを使用して他のエラーをキャプチャし、このビューをパラメータで呼び出すと、404デフォルトエラーを他のエラーに変更できます。
3
ファイルapp/Exceptions/Handler.phpでは、例外がスローされたときの動作を変更できます。特に、render
というメソッドがあり、アプリケーション内のすべての例外をキャッチすることができます。
public function render($request, Exception $e)
{
// Handle your error here. Perhaps you can show a view
// when a condition is met. Anything that isn't caught
// here will be handled by Laravel with the
// parent::render call below
return parent::render($request, $e);
}
parent::render($request, $e)
Laravelは通常、それは例外/おっとページのショーする場所です。したがって、このメソッドをオーバーライドすると、404,401などのすべてのアプリケーションエラーをキャッチできます。
関連する問題
- 1. MySQLiのすべての可能性のあるエラーを見つける箇所
- 2. すべての可能性のある未知のエラー:DOM例外のリスト?
- 3. 可能性のあるEC2_ASGモジュールのエラー
- 4. エラーの可能性がある箇所
- 5. Javaマルチスレッド|すべての可能性を見つける
- 6. ユーザ入力の可能性すべて
- 7. すべてのアプリケーションクラスで1つのオブジェクトにアクセス可能
- 8. 可能性のあるカウンタループ
- 9. Androidの画像ボタンを1つずつ並べてスクロール可能
- 10. Laravelデータベースから設定し、すべてのコントローラとビューにアクセス可能
- 11. JVCL Docking-Docking_in_Codeの例 - Tab Dockの可能性のあるエラー
- 12. 予期せぬフロータイプのエラー、nullの可能性のあるオブジェクト
- 13. レールアプリケーションの乗客の可能性のあるエラー
- 14. 2つのグループをターゲットとする可能性のあるプレイブック
- 15. regexは1つのアンダースコアと1つ以上の有効な文字を持つ可能性があります。
- 16. 可能性がありますssh_exchange_identificationエラー
- 17. Laravel 4.2 Eloquent belongsToMany 3つのテーブルにマッピング可能な可能性があります
- 18. 寸法のすべての可能性を印刷する
- 19. GoogleVisionのすべてのラベルの可能性はありますか?
- 20. Laravelのすべてのビューが見つかりません
- 21. Git - インターネット上の可能性のあるエラーのリストはありますか?
- 22. 2つの可能性をチェックするエラー
- 23. LAN内のすべてのIPを見る可能性
- 24. サーバに繋がっている可能性のあるスレッドが1つあります
- 25. 未定義のインデックス0 php laravel(重複している可能性あり)
- 26. Jinjaフォーマットの可能性のあるテンプレート
- 27. C++の可能性のあるプログラミングミステリー?
- 28. fminsearchの可能性のある使用
- 29. RSA_private_encryptの可能性のあるバグ
- 30. 現在の可能性のあるキャストフロート