Laravel - 26. エラー処理 - エラーページの表示

LaravelはHTTPのステータスコードに応じたエラーページを簡単にカスタマイズできるようになっています。具体的には resources/views/errors フォルダ下に 404.blade.php500.blade.php ファイルのようにステータスコードを名前にしたエラーページを準備します。ここでは実際に resources/views/errors フォルダを作成して、 resources/views/errors/404.blade.php ファイルを作成してみましょう。

@extends('layout.app')

@section('content')
<h1>404 Not Found</h1>
@endsection

ビューファイル自体はレイアウトファイルに 'layout.app' ファイルを指定し、画面に 404 Not Found と出力するシンプルなものです。

動作確認

それでは 404.blade.php ファイルを追加したので、PHPのビルトインWebサーバを使ってWebアプリケーションを起動してみましょう。次のようにコマンドを入力します。

$ php artisan serve --host 0.0.0.0
Laravel development server started: http://0.0.0.0:8000

次にアドレスバーから以下のURLにアクセスしてみましょう。

http://localhost:8000/hello/show/100

前節のようにLaravelのデフォルトの404ページではなく、自作したエラーページが表示されているのがわかります。

まとめ

  • LaravelはHTTPのステータスコードに応じたエラーページを表示できる
  • resources/views/errors フォルダに 404.blade.php500.blade.php ファイルのようにステータスコードを名前にしたエラーページを準備する
  • 存在しないURLにアクセスした場合や ModelNotFoundException がスローされた場合は 404.blade.php の結果が表示される