Laravel - 26. エラー処理 - エラーページの表示
LaravelはHTTPのステータスコードに応じたエラーページを簡単にカスタマイズできるようになっています。具体的には resources/views/errors
フォルダ下に 404.blade.php
、 500.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.php
、500.blade.php
ファイルのようにステータスコードを名前にしたエラーページを準備する- 存在しないURLにアクセスした場合や
ModelNotFoundException
がスローされた場合は404.blade.php
の結果が表示される