vinala/whoops

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

2.0.0-alpha2 2015-12-15 12:27 UTC

README

为酷孩子设计的PHP错误

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

Whoops!

whoops 是一个用于PHP的错误处理框架。默认情况下,它提供了一个漂亮的错误界面,帮助您调试Web项目,但其核心是一个简单而强大的堆栈错误处理系统。

主要版本升级

这是即将推出的Whoops版本2的文档。它目前处于预发布状态,可以通过一个单独的预发布下载标签获取。有关稳定版本的文档,请参阅分支 v1

特性

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

安装

如果您使用Laravel 4,您已经有了Whoops。还有社区提供的如何将Whoops集成到Silex 1Silex 2PhalconLaravel 3Laravel 5CakePHP 2CakePHP 3Zend Framework 2Yii 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\Handler 命名空间中

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

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

作者

此库主要由 Filipe Dobreira 开发,并由 Denis Sokolov 维护。许多出色的修复和增强也被来自 各种贡献者 的贡献。