【市場価値がわかる】エンジニア転職におすすめなサイト

Laravel8でエラーページ(404など)に自動でレンダリングする方法

Laravelのエラーページをカスタムしたいし、自動でレンダリングするにはどうすればいいんだろう…

こんな疑問を解決します。

本記事では、404エラーが発生した場合に、Laravelデフォルトのエラーページだと味気ないからカスタムしたいって人におすすめの記事です。

↓Laravelデフォルトのエラーページ

404エラー

結論、resources/views/errors/404.blade.phpを作成することで、404エラー発生時に、自動的にLaravelが404.blade.phpを読みにいきます。

なので、404.blade.phpを自分好みのエラーページにすることで、解決できます。

Contents

404エラーページをカスタムする流れ

以下のようにコントローラーでabort(404)と記載することで、404エラーを発生させます。

STEP
STEP
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ItemController extends Controller
{
    public function index()
    {
        abort(404);
        return view('item.index');
    }
}

ただ、このままでは以下のようにLaravelデフォルトの404 | NOT FOUNDが表示されるだけです。

404エラー

この404エラーページをカスタマイズし、自動的にレンダリングする方法がLaravelにはあります。

resources/views/にerrorsディレクトリを作成し、404.blade.phpを作成します。

404

あとは404.blade.phpを編集すれば独自の404エラーページが出来上がります。

試しに、以下のように書いてみて404エラーを呼ぶと、記述した内容が反映されています。

<p>404エラーです!!</p>

404エラーだから404.blade.phpと、エラーに対応するファイル名にします。すると、404発生時にLaravelが自動的にこのファイルを呼び出してくれます。

404以外にも401,403,500エラーなども同様で、resources/views/errorsに401.blade.php,403.blade.php,500.balde.phpと書けばOKです。

Laravelのデフォルトエラーファイルを一括で作成する

404.balde.phpは作成したけれど、500も401もいちいち手動で作成するの面倒だわ…

って時は、コマンドで一括作成できます。

Laravelのデフォルトエラーページをコマンドで作成したい場合は、以下を叩きます。

php artisan vendor:publish --tag=laravel-errors

これで以下のように、ズラーっとエラーページのファイルが作成されました。

Laravelデフォルトのエラーページは以下のようなレイアウトです。

500エラー

あとは、404エラーの時みたいに、500.blade.phpに独自に書いていけばOKです。

>>転職するのにおすすめのサイトはこちらをクリック
>>副業で稼ぐためにおすすめのサイトはこちらをクリック

スキルを売り買いするならココナラ

オンライン動画学習ならUdemy

コメント

コメントする

CAPTCHA


Contents
閉じる