2009-07-14 4 views
4

現在、私はエラーメッセージや成功メッセージを管理するための非常に優れたシステムを持っていませんが、コードでインラインで記述されています。誰かが、アプリケーションから大量のエラーメッセージと成功メッセージを適切に管理できるように、ベストプラクティスや何かを提案することができます。エラーメッセージと成功メッセージとコードを管理する良い方法はありますか?

国際化を考えてみましょう...いくつかのアプリケーションには言語ファイルがあり、そのアプリケーションは特定のファイルから文字列を取得します...私はエラーメッセージと成功メッセージについて同様のコンセプトを実装することを考えています。同じ行に沿って行われますか?ここで

+0

私は、これは古い記事ですけど、あなたは今まであなたが探していた解決策を見つけましたか? – ServAce85

答えて

1

私が使用する関数です。

function checkErrors($type, $msg, $file, $line, $context) { 
    echo "<h1>Error!</h1>"; 
    echo "An error occurred while executing this script. Please contact the <a href=mailto:[email protected]>webmaster</a> to report this error."; 
    echo "<p />"; 
    echo "Here is the information provided by the script:"; 
    echo "<hr><pre>"; 
    echo "Error code: $type<br />"; 
    echo "Error message: $msg<br />"; 
    echo "Script name and line number of error: $file:$line<br />"; 
    $variable_state = array_pop($context); 
    echo "Variable state when error occurred: "; 
    print_r($variable_state); 
    echo "</pre><hr>"; 
} 
set_error_handler('checkErrors'); 

それはあなたのPHPコードが生成するすべてのエラーと警告を与え、一緒にして、誰かがページを訪問した場合にはあなたのためのエラーページを作成します。エラーが含まれています。

希望すると便利です。

+0

yaしかし、実際のメッセージはアプリケーション全体に広がっています。アプリケーション全体で使用されている実際のメッセージを管理する方法を探しています。 – farinspace

0

私が使用することができます(これは基本的には、コントローラ・システムの)アプリケーションをブートストラップし、正しいファイルを含む単一のアクセス・ポイントのスタイルのシステムを使用しているので:

<?php 
try { 
    require 'bootstrap.php'; 
    // dispatch controller 
    require "controllers/$controller.php"; 
} catch (Exception $e) { 
    // echo info 
} catch (LibraryException $le) { 
    // library specific exception 
} 

その後、私はエラーをスローしたいとき私はちょうど:

throw new Exception('An error occurred.'); 

誰かがベストプラクティスやあなたが適切にアプリケーションからのエラーと成功メッセージの大規模なリストを通じ管理できるようにするためにやっている何かを提案することができます。

これは私が一括してエラーを管理する方法ですが、リストをどのように管理できるかはわかりません。私はgrep私が見つけるエラーメッセージのために、それは本当に非常に整理されていない。

+0

LibraryExceptionはExceptionを拡張し、Exception catchの前にLE catchブロックを置きます。ブロック。 –

0

PHP Documentorのようなものを使用し、各クラスのドキュメントにエラーとメッセージを含めることができます。

http://www.phpdoc.org/

関連する問題