asika/whoops

此软件包已被废弃,不再维护。未建议替代软件包。

为酷孩子们准备的PHP错误处理,支持官方发布前的PHP8。

2.7.4.1 2020-10-10 06:04 UTC

README

为酷孩子们准备的PHP错误

Total Downloads Latest Version Reference Status Dependency Status Build Status Scrutinizer Quality Score Code Coverage

Whoops!

whoops 是一个PHP错误处理框架。开箱即用,它提供了一个漂亮的错误界面,帮助您调试Web项目,但本质上它是一个简单而强大的堆叠错误处理系统。

特性

  • 灵活的基于堆栈的错误处理
  • 独立的库(目前)没有依赖项
  • 简单的API处理异常、跟踪帧及其数据
  • 包括一个漂亮且酷炫的错误页面,适用于Web应用程序项目
  • 包括直接在您的编辑器和IDE中打开引用文件的能力
  • 包括不同响应格式的处理器(JSON、XML、SOAP)
  • 易于扩展和集成到现有库
  • 干净、结构良好、经过测试的代码库

赞助商

Blackfire.io

安装

如果您使用Laravel 4或Laravel 5.5+,您已经拥有Whoops。还有社区提供的说明,说明如何将Whoops集成到Silex 1Silex 2PhalconLaravel 3Laravel 5CakePHP 2CakePHP 3Zend 2Zend 3Yii 1FuelPHPSlimPimpleLaminas或任何使用StackPHP中间件PSR-7中间件的框架。

如果您不使用这些框架中的任何一个,这里有一个非常简单的安装方法

  1. 使用Composer将Whoops安装到您的项目中

    composer require filp/whoops
  2. 在您的代码中注册漂亮的处理器

    $whoops = new \Whoops\Run;
    $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
    $whoops->register();

有关更多选项,请查看examples/目录中的example files,以了解事物是如何工作的。还可以查看API文档和下面的可用处理器列表。

您可能还想覆盖Whoops执行的一些系统调用。要这样做,扩展Whoops\Util\SystemFacade,覆盖您想要的函数,并将其作为参数传递给Run构造函数。

可用处理器

whoops 目前附带以下内置处理器,位于Whoops\Handler命名空间中

  • PrettyPageHandler - 当出现问题时显示一个漂亮的错误页面
  • PlainTextHandler - 为 CLI 应用程序输出纯文本消息
  • CallbackHandler - 将闭包或其他可调用对象作为处理程序包装。您无需显式使用此处理程序,whoops 会自动将您传递给 Whoops\Run::pushHandler 的任何闭包或可调用对象进行包装
  • JsonResponseHandler - 捕获异常,并以 JSON 字符串形式返回相关信息。可以用于,例如,与 AJAX 请求友好地交互。
  • XmlResponseHandler - 捕获异常,并以 XML 字符串形式返回相关信息。可以用于,例如,与 AJAX 请求友好地交互。

您还可以使用可插入的处理程序,例如 SOAP 处理程序

作者

该库主要由 Filipe Dobreira 开发,并由 Denis Sokolov 维护。许多出色的修复和增强也是由 众多贡献者 提交的。特别感谢 Graham CampbellMarkus Staab 的持续参与。

此软件包括 Prettify,许可协议为 Apache License 2.0。它仅作为性能优化捆绑在一起。