ドキュメント
リリースカレンダー
リンク
SourceForge.jp SourceForge.JPへ
php.net PHP公式サイトへ

エラーハンドラとカスタムエラー画面

 SyLフレームワークではPHPエラーが発生した場合、エラーハンドラにより独自のエラー処理を行っています。 環境によって、エラーの表示内容を変えたり、エラー画面自体を変更することも可能です。

1. エラーハンドラの処理

 エラーハンドラ処理は、カレントのerror_reportingとログレベルの値により変化します。 詳細は、こちらを参照してください。

2. カスタムエラー画面

 エラーが発生した場合、エラーハンドリング可能な範囲のエラーであれば、カスタムのエラー画面が表示されます。(※リダイレクトではない)
カスタムのエラー画面は、下記に示す設定ファイルの定数で管理されています。

定数値 デフォルト値
SYL_ERROR_FORWARD_FILE {SYL_PROJECT_DIR}/lib/Common/DefaultErrorWeb.php

設定値を別ファイルに変更することで、エラー画面を変更するが可能です。

以下デフォルトのエラー画面の説明となります。

 デフォルトのエラー画面では「エラーメッセージ」「エラーソースの前後数行」「エラーファイルのトレース」「その他環境変数」が表示されます。 SYL_ERROR 設定されている定数により、表示される内容も異なります。

定数値 デフォルト値
SYL_ERROR 1

SYL_ERROR 定数が有効(1)の場合、「エラーメッセージ」「エラーソースの前後数行」「エラーファイルのトレース」「その他環境変数」全てが表示されますが、 無効(0)の場合、「エラーメッセージ」が SYL_ERROR_MESSAGE 定数で定義した固定メッセージに変わる以外は、全て非表示になります。

開発時は有効(1)に設定し、本番環境では無効(0)に設定することをお勧めします。
本番環境のエラー内容は、ログファイル(とエラーメール)を参照することで把握できます。

また補足的ですが、SyL_DBクラスを使用してSQL実行時エラーが発生した場合、上記画面のように直前のSQLが表示されます。

3. 404(Not Found)エラー画面

 404エラー(テンプレートを参照するときにファイルが存在しない場合)が発生した場合、404エラー画面に遷移します。(※リダイレクトではない)

カスタムエラー画面は、下記に示す設定ファイルの定数で管理されています。

定数値 デフォルト値
SYL_ERROR_FORWARD_FILE_404 {SYL_PROJECT_DIR}/lib/Common/Error404.php

設定値を別ファイルに変更することで、エラー画面を変更するが可能です。