在codeigniter / php应用程序中进行错误处理的最佳实践

时间:2010-04-24 17:15:49

标签: php codeigniter error-handling function

我们正在使用一个新的基于codeigniter的应用程序,它从各种库,模型等交叉引用不同的PHP函数。

我们在服务器上运行PHP5,并且我们试图找到一种管理因使用我们的功能而产生的错误和状态报告的好方法。 在函数中使用return时,执行结束,因此不能再发回任何内容。正确?

在结束实际功能的执行时发送状态信息或错误代码的最佳做法是什么?

我们应该考虑使用例外或任何其他方法吗? http://us.php.net/manual/en/language.exceptions.php

1 个答案:

答案 0 :(得分:5)

  

我们应该考虑使用例外或任何其他方法吗?

由于您致力于PHP5,我认为在自定义库中使用异常是一个好主意。 Try / Catch和Exceptions的使用将提供更好的代码控制以及可能更强大的错误记录。

扩展Exceptions类将允许您对模型和库可以抛出的异常类型以及如何对它们做出反应进行细粒度的控制。

我可以想象,如果一个模型提供了错误的输入,则抛出一个dataInputException;如果它无法对数据进行操作,则抛出一个dataOperationException(例如$ this-> db-> insert()返回失败)。你如何处理各种异常可能会有所不同。

就开发的错误报告而言,Exceptions类方法将为您提供大量信息(如文件名和行号)。

此外,某些第三方代码使用了例外(例如Facebook Connect的PHP Lib)。