Laravel は非常に人気のある PHP フレームワークであり、開発中に問題が発生した場合にエラー プロンプト機構を備えているため、迅速に原因を特定することができ、開発効率が向上します。ただし、正式にオンラインになったときにユーザーにエラー プロンプトを表示したくない場合もありますが、現時点では、エラー プロンプトをブロックすることでこの問題を解決できます。この記事では、Laravelでエラープロンプトをブロックする方法を紹介します。
Laravel フレームワークでは、デバッグモードをオフにすることでエラープロンプトをブロックできます。プロジェクト内の .env
ファイルを開き、APP_DEBUG
の値を true
から false
に変更してデバッグ モードをオフにします。
デバッグ モードをオフにすると、500 ページや Laravel エラー メッセージを含む、ページ上のすべてのエラー プロンプトがブロックされます。この方法は、公式オンライン環境など、すべてのエラー プロンプトとログをクリアする必要がある状況に適しています。
実稼働環境でデバッグ モードを有効にすることはお勧めできません。デバッグモードをオンにすると、Laravel のさまざまなエラーメッセージがページに表示され、問題を迅速に特定するのに役立ちます。しかし、正式に開始された環境では、エラー メッセージはユーザーに非常に悪いユーザー エクスペリエンスをもたらし、Web サイトのブランド イメージにも重大な影響を与えます。
エラー プロンプトをシールドする 2 番目の方法は、例外ハンドラーをカスタマイズすることです。 Laravel 独自の例外ハンドラーを書き直すことで、ページ上のエラー プロンプトをマスクできます。以下は簡単な例です:
<?php namespace App\Exceptions; use Exception; class Handler extends ExceptionHandler { public function render($request, Exception $exception) { if ($this->isHttpException($exception)) { return $this->renderHttpException($exception); } else { return response()->view('errors.500'); } } }
上記のコードでは、Laravel 独自の例外ハンドラー ExceptionHandler
を継承する Handler
クラスを定義します。このクラスでは、render
メソッドをオーバーライドします。例外をキャッチすると、まず例外の種類が HttpException
であるかどうかを判断します。そうであれば、renderHttpException# が呼び出されます。 . ##メソッドは例外情報をページに出力します。そうでない場合は、500 エラー ページが返されます (この時点ではエラー メッセージは表示されません)。
render メソッドに追加し、例外の種類に応じて異なる処理を行うことができます。
以上がLaravelでエラープロンプトをブロックする方法(2つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。