2011-12-10 13 views
1

私のニーズに合った非常にシンプルですが(うまくいけば)ソリッドなフレームワークを開発しています。本当に必要なことはもうありません。 私はあなたの誰かが私に最後の「ホイールの発明者」を見つけるかもしれないと知っていますが、私はこのプロジェクトを信じています。フレームワークの複雑さとして、バグやエラーが指数関数的に増加することはすべて知っています。PHPエラーを回避する

私は、PHPエラー、フレームワークエラー(PHPエラーグループ)などの処理エラーの問題に遭遇しました。 これを行うにはたくさんの方法がありますが、私は通常単純なものを好みます。

例外またはset_error_handler()のフレームワークの初期化中に発生する可能性があるすべてのPHPエラーを管理する必要がありますか(開発者モードの場合)またはログ(開発者モード)エラー?例えば

include('file.php'); // required files for the application 

私はそれをチェックして、このような「ファイルが欠落しているため、フレームワークは実行できません」と、「見栄え」のエラーメッセージを返す必要があります。または私はPHPエラーが独自のエラーを引き起こすようにする必要がありますか? このタイプまたはエラーをどのように管理しますか?

+3

私は、「バグとエラー」は主にホイールの再発明から来ていると言います... –

+0

PHPを使用していますので、HTML + CSSエラーログをうまく作成できます:) – FakeRainBrigand

答えて

2

あなたはちょうど問題を混合しています。

あなたは

  1. プログラマ
  2. ユーザに通知しなければならない二人が実際にあります。

これを理解すると、何を選択するかは問題ではないことがわかります。両方。

プログラマにとって、デフォルトのPHPハンドラで十分です。 display_errorslog_errorsの設定で駆動されます。PHPは、あなたが望むものを正確に実行します:show (if we are in developer mode) or log (if we are not in developer mode) the errors

ユーザ(および検索エンジン)にとっては、「すてきな」503エラーページは必須です。 もちろん、「ファイルが見つからない」ような詳細はありません。ちょうど謝罪のページ。

唯一の疑問はそれを引き起こす方法です。 カスタムエラーハンドラを使用する良い理由はありますか?

1

phpエラーの漏洩は、アプリケーションとサーバーの内部を明らかにすることができるため、セキュリティ上非常に危険です。通常、生産のためにdisplay_errors Offを切り替えて、代わりにカスタムエラーハンドラを使用することをお勧めします。開発のために、それは本当に重要ではありません。

私はdisplay_errors上でPHPのドキュメントを引用します:

これは、あなたの開発をサポートするための機能であり、生産システム(インターネットに接続され、例えばシステム)上で使用すべきではありません。

関連する問題