laravelこんにちは!個人開発者の南です。今回は、LaravelのExceptionのカスタマイズ方法について紹介します。Laravelの処理を書いている時に下記のように、エラーメッセージを任意の場所にリダイレクトさせて使いたいということがあると思います。$e->getMessage());exit;今回の記事では、LaravelのデフォルトのExceptionをカスタマイズして、上記のように実装する方法を紹介します。Exceptionをカスタマイズする手順LaravelのExceptionをカスタマイズするには、下記の手順を踏んでいきます。・app/Exceptions直下に専用のExceptionを作成。・app/Exceptions/Handler.phpに処理を作成。app/Exceptions直下に専用のExceptionを作成についてまずは、Laravelのapp/Exceptions直下にエラーメッセージを任意の場所にリダイレクトさせて使うための専用のExceptionを作成していきます。下記のように処理を書いた、ファイルを作成しましょう。リダイレクトさせたい場所を指定。リダイレクト先で表示するメッセージを指定。リダイレクトさせたい場所を指定。リダイレクト先で表示するメッセージを指定。$message;}}名前は、リダイレクトさせて使うため「RedirectExceptions.php」としました。app/Exceptions/Handler.phpに処理を作成についてファイルが作成できたら、今度は「app/Exceptions/Handler.php」を開きます。デフォルトの場合だと、ファイルを開いた時下記のように記載されています。上記コードのうち「render」の箇所を下記のように書き換えます。使用されているExceptionがRedirectExceptionsの場合は、リダイレクトさせる。-->上記コードのうち「render」の箇所を下記のように書き換えます。使用されているExceptionがRedirectExceptionsの場合は、リダイレクトさせる。$exception);}これで、任意の場所にリダイレクトさせることができるようになります。実際使用する場合は、任意の箇所でExceptionを投げます。メールアドレスのフォーマットが正しいかチェックして、正しくなければ例外を投げる。\Exception('メールの形式が正しくありません。メールアドレスのフォーマットが正しいかチェックして、正しくなければ例外を投げる。\Exception('メールの形式が正しくありません。');}}投げられたExceptionをキャッチして、「user.register」ルートにリダイレクトさせます。RedirectExceptionsをインポート。例外のメッセージを取得し、user.registerルートにリダイレクトさせる。RedirectExceptionsをインポート。例外のメッセージを取得し、user.registerルートにリダイレクトさせる。$e->getMessage());exit;}}}リダイレクト先のBladeファイルに下記の記述を加えます。例外が投げられた場合は、例外エラーを表示。例外が投げられた場合は、例外エラーを表示。}}</strong></div>@endifこれで任意の場所にリダイレクトさせて、Exceptionエラーを表示することができます。まとめ今回は、LaravelのExceptionのカスタマイズ方法について紹介しました。LaravelのExceptionをカスタマイズして、任意の場所にリダイレクトさせてExeptionを表示させたいといった場合は、下記のステップを踏むようにしましょう。・app/Exceptions直下に専用のExceptionを作成。・app/Exceptions/Handler.phpに処理を作成。健太郎1991年生まれ。都内でエンジニアをしています。このブログでは、個人開発や日々の技術に関する情報などを発信していきます。健太郎2020年1月3日laravelこの投稿へのコメントコメントはありません。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。この投稿へのトラックバックコメントはありません。