Fuelphp-error-handling-and-debugging

提供:Dev Guides
移動先:案内検索

FuelPHP-エラー処理とデバッグ

FuelPHPは、エラーの処理とアプリケーションのデバッグのための優れたサポートを提供します。 この章でエラー処理とデバッグを理解しましょう。

エラー処理

FuelPHPのエラー処理は例外に基づいています。 FuelPHPは、すべての古いphpエラーに対してPhpErrorException例外を提供します。 FuelPHPは、PHPコードでエラーが発生するたびにPhpErrorExceptionを発生させます。 FuelPHPでは、さまざまなHTTPステータスコードのカスタムエラーページを簡単に表示することもできます。

ファイルが見つかりませんエラー

FuelPHPは、未知のリクエストを処理する新しい例外クラスHttpNotFoundExceptionを提供します。 時々、処理されないかもしれない要求に遭遇するかもしれません。 その時点で、HttpNotFoundExceptionをスローできます。

デフォルトでは、ルート構成ファイルfuel/app/config/routes.phpで、400エントリを使用してHttpNotFoundExceptionのデフォルトページが構成されます。 HttpNotFoundExceptionが発生するたびに、リクエストは400ページにリダイレクトされます。

'_404_'   => 'welcome/404',   //The main 404 route

内部エラー

FuelPHPは、すべてのサーバーエラーを処理する新しい例外クラスHttpServerErrorExceptionを提供します。 内部エラーのため、指定されたリクエストを処理できない場合があります。 その時点で、HttpServerErrorExceptionをスローするだけです。

デフォルトでは、500エントリを使用して、ルート構成ファイルfuel/app/config/routes.phpでHttpServerErrorExceptionのデフォルトページが構成されます。 HttpServerErrorExceptionが発生するたびに、リクエストは500ページにリダイレクトされます。

'_500_'   => 'welcome/500',   //The main 500 route

このページはエラーをログに記録し、ページに書式設定されたエラーを表示し、時々システム管理者に通知を送信します。

アクセス違反エラー

FuelPHPは、アクセス違反を処理する新しい例外クラスHttpNoAccessExceptionを提供します。 アクセス制限のため、リクエストを処理できない場合があります。 その時点で、HttpNoAccessExceptionをスローできます。

デフォルトでは、403エントリを使用して、ルート構成ファイルfuel/app/config/routes.phpでHttpNoAccessExceptionのデフォルトページが構成されます。 HttpNoAccessExceptionが発生するたびに、リクエストは403ページにリダイレクトされます。

'_403_'   => 'welcome/403',    //The main 403 route

このページには、アクセス違反情報が表示されます。

デバッグ

デバッグは、アプリケーションを開発する最も頻繁なアクティビティの1つです。 FuelPHPは、アプリケーションのデバッグアクティビティを処理する Debug という単純なクラスを提供します。 この章では、Debugクラスとそのメソッドについて学びましょう。

デバッグクラス

デバッグクラスは、変数、オブジェクト、配列などの詳細情報を表示するユーティリティメソッドを提供します。 デバッグクラスは次のメソッドを提供します。

dump

dumpメソッドは、複数の混合値をフォーマットされた構造化された方法でブラウザーに返します。

Debug::dump($var1, $var2);

backtrace()

backtraceは、コードの現在の実行に関する詳細情報を表示します。 PHPファイル情報、現在の行、および以前のすべてのアクションが表示されます。

Debug::backtrace();

クラス()

すべてのクラスのリストを返します。

Debug::classes();

interfaces()

すべてのインターフェイスクラスのリストを返します。

Debug::interfaces();

()を含む

実行時に現在ロードされているすべてのインクルードファイルのリストを返します。

Debug::includes();

関数()

すべての関数のリストを返します。

Debug::functions();

定数()

すべての定数のリストを返します。

Debug::constants();

extensions()

すべての拡張機能のリストを返します。

Debug::extensions();

headers()

すべてのHTTPヘッダーのリストを返します。

Debug::headers();

phpini()

php.iniファイルから読み取った構成設定のリストを印刷します。

Debug::phpini();