忍者ブログ

STEP UP BLOG

Home > ブログ > > [PR] Home > ブログ > Laravel > Laravelの開発環境でカスタムエラーページを表示させないために

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Laravelの開発環境でカスタムエラーページを表示させないために

Laravel 5.2対象。
Laravel 5.2では、
resources/views/errors
以下に
resources/views/errors/404.blade.php
resources/views/errors/500.blade.php
のようにHTTPステータスコードのビューファイルを置くことで、独自のエラーページを表示させることができます(ステータスコードでなくてもできますが)。
しかし、開発環境では小綺麗なエラーページでなく、どんなエラーがどこで起きたか知りたいのが常。
というわけで本番環境ではないときに、カスタムエラーページではなくLaravelのエラースタックトレース画面を表示させるにはどうすればいいか。
Laravel 5.2でのエラーハンドリングは、
app/Exceptions/Handler.php のHandlerクラスが取り扱っています。
このクラスはExceptionHandlerクラスを継承していて、ExceptionHandlerクラスにはrenderHttpExceptionメソッドといういかにもそれっぽいメソッドがあります。
このrenderHttpExceptionメソッドがカスタムエラーページを描画しています。
そこでrenderHttpExceptionメソッドをHandlerクラスでオーバーライドしましょう。
/**
 * Render the given HttpException.
 *
 * @param  \Symfony\Component\HttpKernel\Exception\HttpException  $e
 * @return \Symfony\Component\HttpFoundation\Response
 */
protected function renderHttpException(HttpException $e)
{
    if (!App::environment('production')) {
        return $this->convertExceptionToResponse($e);
    }

    return parent::renderHttpException($e);
}

上記をHandler.php内に記述すれば、本番環境以外でカスタムエラーページが表示されなくなります。
という感じで快適なLaravelライフを(^人^)
PR

Comment0 Comment

Comment Form

  • お名前name
  • タイトルtitle
  • メールアドレスmail address
  • URLurl
  • コメントcomment
  • パスワードpassword

PAGE TOP