张博伦-杜阿尔特/prettyexception

PrettyException 是一个帮助操作 Whoops 组件的组件。

0.1.0 2021-04-18 02:53 UTC

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 请求或使用命令行,可以使用 runIfAjaxrunIfCli 显示异常。

runIfAjax 将在存在 AJAX 请求时执行并以 JSON 格式返回。否则,将显示标准异常屏幕。

runIfCli 仅从 PHP 命令行运行。

$run->runIfAjax('Exception in AJAX');
$run->runIfCli('Exception in CLI');

许可证

MIT