2009-07-14 56 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/

相关问题