张博伦-杜阿尔特 / prettyexception
PrettyException 是一个帮助操作 Whoops 组件的组件。
0.1.0
2021-04-18 02:53 UTC
Requires
- php: ^7.4|^8.0
- filp/whoops: 2.*
This package is auto-updated.
Last update: 2024-09-18 10:32:39 UTC
README
PrettyException 是一个帮助操作 Whoops 组件的组件。
如何使用
use PrettyException\PrettyException; $exception = new PrettyException();
您可以使用以下方式返回错误:
inPretty
:返回带有 Whoops 屏幕的结果inJson
:以 JSON 格式返回异常inText
:以文本格式返回异常inXml
:以 XML 格式返回异常
然后使用 run
方法。
$exception = new PrettyException(); $exception->inPretty()->run();
自定义异常屏幕
可以在异常屏幕上执行一些自定义操作。
setTitle
:设置错误页面的标题。
$exception->setTitle('New Exception');
table
:向输出添加一个键=>值的任意数据表,标签为 $label。在需要显示与错误一起的上下文数据,关于您的应用程序或项目时非常有用。
$exception->table('New Exception', [ 'exc' => 'test', 'exc2' => 10 ]);
tableCallback
:与 PrettyPageHandler::addDataTable 类似,但接受一个在渲染异常时将被调用的可调用对象。这允许您收集可能在处理初期不可用的附加数据。
$exception->tableCallback('New Exception Callback', function(\Whoops\Exception\Inspector $inspector) { $data = array(); $exception = $inspector->getException(); if ($exception instanceof SomeSpecificException) { $data['Important exception data'] = $exception->getSomeSpecificData(); } $data['Exception class'] = get_class($exception); $data['Exception code'] = $exception->getCode(); return $data; });
closeTableAndRun
:关闭表并执行异常。可选地,您还可以添加注释。
$exception->closeTableAndRun($comment);
在其他格式中运行异常
在某些情况下,例如 AJAX 请求或使用命令行,可以使用 runIfAjax
和 runIfCli
显示异常。
runIfAjax
将在存在 AJAX 请求时执行并以 JSON 格式返回。否则,将显示标准异常屏幕。
runIfCli
仅从 PHP 命令行运行。
$run->runIfAjax('Exception in AJAX'); $run->runIfCli('Exception in CLI');
许可证
MIT