staabm/whoops

为酷孩子们设计的PHP错误处理

10.0 2018-08-27 07:03 UTC

README

PHP错误处理,专为酷孩子们设计

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

Whoops!

whoops 是一个用于PHP的错误处理框架。它自带一个美观的错误界面,可以帮助你调试网络项目,但其核心是一个简单而强大的错误处理系统。

功能

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

安装

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

如果你没有使用上述任何框架,以下是一个非常简单的安装方法

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

    composer require filp/whoops
  2. 在你的代码中注册美观的处理程序

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

有关更多选项,请参阅examples/中的示例文件以了解事物的工作方式。还可以查看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 许可。它仅作为性能优化捆绑。