LaravelのExceptionを任意の場所にリダイレクトさせて表示する方法

こんにちは!
個人開発者の南です。

今回は、LaravelのExceptionのカスタマイズ方法について紹介します。

Laravelの処理を書いている時に下記のように、エラーメッセージを任意の場所にリダイレクトさせて使いたいということがあると思います。

今回の記事では、LaravelのデフォルトのExceptionをカスタマイズして、上記のように実装する方法を紹介します。

Exceptionをカスタマイズする手順

LaravelのExceptionをカスタマイズするには、下記の手順を踏んでいきます。

・app/Exceptions直下に専用のExceptionを作成。
・app/Exceptions/Handler.phpに処理を作成。

app/Exceptions直下に専用のExceptionを作成について

まずは、Laravelのapp/Exceptions直下にエラーメッセージを任意の場所にリダイレクトさせて使うための専用のExceptionを作成していきます。

下記のように処理を書いた、ファイルを作成しましょう。

名前は、リダイレクトさせて使うため「RedirectExceptions.php」としました。

app/Exceptions/Handler.phpに処理を作成について

ファイルが作成できたら、今度は「app/Exceptions/Handler.php」を開きます。

デフォルトの場合だと、ファイルを開いた時下記のように記載されています。

これで、任意の場所にリダイレクトさせることができるようになります。

実際の使用方法

実際使用する場合は、任意の箇所でExceptionを投げます。

投げられたExceptionをキャッチして、「user.register」ルートにリダイレクトさせます。

リダイレクト先のBladeファイルに下記の記述を加えます。

これで任意の場所にリダイレクトさせて、Exceptionエラーを表示することができます。

まとめ

今回は、LaravelのExceptionのカスタマイズ方法について紹介しました。

LaravelのExceptionをカスタマイズして、任意の場所にリダイレクトさせてExeptionを表示させたいといった場合は、下記のステップを踏むようにしましょう。

・app/Exceptions直下に専用のExceptionを作成。
・app/Exceptions/Handler.phpに処理を作成。

この記事を書いた人

南 健太郎

1991年生まれ。関西を中心にフリーのプログラマーをしています。
今は個人開発で生活できるようになるため、日々試行錯誤中。
個人開発や日々の技術に関する情報などを発信していきます。
Twitterやってます!
良かったらフォロー、よろしくお願いします!
Twitterのリンクはこちら