php - 最好的 PHP 错误类

标签 php zend-framework error-handling

我正在寻找一些关于我试图完成的以下任务的编码想法。

我在文档中有错误号、描述和用户友好描述的列表。

Ex:
Error Number, Description, User Friendly Description 
-----------------------------------------------------
1, Internal Error, "An Internal Error has occurred. Please try again later".
2, Delete Failed, "Unable to delete an Entry. Please try later".

我想编写一个 PHP 类来存储以上所有内容,以便以后在代码中发生错误时可以轻松访问它们。

例如:如果我的代码收到错误 2,我想使用类中的错误代码列表检查该错误代码,检索描述、用户友好描述并将其显示给用户。

我希望这是最小的开销。因此,不想将其存储在数据库中。

我将 PHP5 与 Zend MVC 框架一起使用。任何人都可以帮助我提供最好的示例代码吗?

谢谢

最佳答案

  • 编写一个带有错误代码和用户友好文本的 ini 文件。
  • 编写一个扩展 Exception 的类,该类从 ini 文件中获取错误代码。添加一个方法,例如
    公共(public)函数 getUserFriendlyMsg(){}
    它从 ini 文件中返回字符串。

  • 在您的正常代码中,当您遇到此类错误时,您只需要抛出异常。例如
    throw new My_Exception('Delete failed',2);
    

    在你的例如 Controller :
    try{
        // your code
    }catch(My_Exception $e){
        echo $e->getUserFriendlyMsg();
    }
    

    注意:您应该考虑扩展您的 excpetion 类以将故障记录到日志文件中,为此您可以引入服务级别。 (参见手册 - 异常处理)

    关于php - 最好的 PHP 错误类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2561235/

    相关文章:

    javascript - 用 PHP 加载 CSS(可能还有 JS)

    php - 创建独立的 MS Graph 登录门户

    php - 没有这样的文件或目录 - Magento 错误

    c# - 批处理文件获取语法错误

    swift - 将 ErrorType 转换为 NSError 会丢失关联对象

    php - MYSQL中输入和输出之间的持续时间

    php - 如何在codeigniter中计算group_concat

    php - 我们如何将数据从 Controller 传递到 zend 中查看?

    php - 如何创建自定义 Zend Paginator Adapter(Zend 框架 1)

    web-scraping - 如何人为地创建ConnectionRefusedError?