leafs/exception

leaf 错误处理器(whoops 的分支)

赞助包维护!
denis-sokolov

安装量: 21,558

依赖者: 2

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 603

v3.4 2024-08-23 12:20 UTC

README

PHP 错误处理工具

Total Downloads Latest Version Build Status on newer versions Build Status on older versions Scrutinizer Quality Score Code Coverage

Whoops!

whoops 是一个 PHP 错误处理器框架。开箱即用,它提供了一种漂亮的错误界面,可以帮助您调试您的 Web 项目,但它的核心是一个简单而强大的堆栈错误处理系统。

特性

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

赞助商

Blackfire.io

安装

如果您使用 Laravel 4、Laravel 5.5+ 或 Mezzio,您已经拥有 Whoops。还有社区提供的关于如何将 Whoops 集成到 Silex 1Silex 2PhalconLaravel 3Laravel 5CakePHP 3CakePHP 4Zend 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/ 中的 示例文件,以了解事物的工作方式。还可以查看 API 文档 以及下面的可用处理器列表。

您还可以覆盖Whoops使用的某些系统调用。为此,扩展Whoops\Util\SystemFacade,覆盖您想要的函数,并将其作为参数传递给Run构造函数。

您还可以收集生成的HTML进行处理。

$whoops = new \Whoops\Run;
$whoops->allowQuit(false);
$whoops->writeToOutput(false);
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$html = $whoops->handleException($e);

可用处理程序

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的持续参与。