2009-07-14 57 views
4

目前我沒有用於管理錯誤或成功的消息非常好的系統,他們幾乎內嵌代碼編寫。有人可以建議一個最佳實踐或你正在做的事情,以便能夠正確地管理整個應用程序中的大量錯誤和成功消息。管理錯誤和成功消息和代碼的好方法是什麼?

認爲國際化...有些應用程序會語言文件,然後應用程序只是拉從特定文件中的字符串...我想執行的錯誤和成功消息類似的概念,並很好奇,有什麼人沿着同樣的路線完成?

+0

我知道這是一個古老的職位,但你有沒有發現你正在尋找解決辦法嗎? – ServAce85 2011-04-15 17:02:55

回答

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

雅,但實際的消息仍然遍佈整個應用程序,即時通訊尋找一種方法來管理在整個應用程序中使用的實際消息 – farinspace 2009-08-29 21:19:46

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擴展異常,然後在異常捕獲之前放置LE catch塊塊。 – 2009-07-15 04:56:49

0

您可能會使用PHP Documentor之類的東西,並在每個類的文檔中包含錯誤和消息。

http://www.phpdoc.org/

相關問題