whoops
1.0.0
酷孩子的 PHP 错误
whoops是 PHP 的错误处理框架。它开箱即用,提供了一个漂亮的错误界面,可以帮助您调试 Web 项目,但本质上它是一个简单但功能强大的堆栈错误处理系统。
如果您使用 Laravel 4、Laravel 5.5+ 或 Mezzio,那么您已经拥有了 Whoops。还有社区提供的说明,介绍如何将 Whoops 集成到 Silex 1、Silex 2、Phalcon、Laravel 3、Laravel 5、CakePHP 3、CakePHP 4、Zend 2、Zend 3、Yii 1、FuelPHP、Slim、Pimple、Laminas、或任何使用 StackPHP 中间件或 PSR-7 中间件的框架。
如果您没有使用任何这些框架,这里有一个非常简单的安装方法:
使用 Composer 将 Whoops 安装到您的项目中:
composer require filp/whoops
在您的代码中注册漂亮的处理程序:
$ whoops = new Whoops Run ;
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ whoops -> register ();
有关更多选项,请查看examples/
中的示例文件以了解其工作原理。另请查看 API 文档和下面的可用处理程序列表。
您可能还想覆盖 Whoops 所做的一些系统调用。为此,请扩展WhoopsUtilSystemFacade
,覆盖所需的函数并将其作为参数传递给Run
构造函数。
您还可以收集生成的 HTML 来自行处理:
$ whoops = new Whoops Run ;
$ whoops -> allowQuit ( false );
$ whoops -> writeToOutput ( false );
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ html = $ whoops -> handleException ( $ e );
whoops目前附带以下内置处理程序,可在WhoopsHandler
命名空间中使用:
PrettyPageHandler
- 当出现问题时显示一个漂亮的错误页面PlainTextHandler
- 输出纯文本消息以在 CLI 应用程序中使用CallbackHandler
- 将闭包或其他可调用对象包装为处理程序。您不需要显式使用此处理程序, whoops会自动包装您传递给WhoopsRun::pushHandler
任何闭包或可调用对象JsonResponseHandler
- 捕获异常并以 JSON 字符串的形式返回有关异常的信息。例如,可用于很好地处理 AJAX 请求。XmlResponseHandler
- 捕获异常并以 XML 字符串的形式返回有关异常的信息。例如,可用于很好地处理 AJAX 请求。您还可以使用可插入处理程序,例如 SOAP 处理程序。
该库主要由 Filipe Dobreira 开发,目前由 Denis Sokolov 维护。各种贡献者还发送了许多很棒的修复和增强功能。特别感谢 Graham Campbell 和 Markus Staab 的持续参与。