middlewares/whoops

中间件,用于将 Whoops 作为错误处理器

v2.0.3 2024-03-21 14:38 UTC

This package is auto-updated.

Last update: 2024-09-21 15:56:00 UTC


README

Latest Version on Packagist Software License Testing Total Downloads

中间件,用于将 Whoops 作为错误处理器。

需求

安装

该软件包可以通过 Composer 以 middlewares/whoops 的方式安装和自动加载。

composer require middlewares/whoops

示例

$dispatcher = new Dispatcher([
    new Middlewares\Whoops()
]);

$response = $dispatcher->dispatch(new ServerRequest());

用法

构造函数接受一个 Whoops\Run 实例,如果未提供,则自动创建一个。可选地,您可以将一个 Psr\Http\Message\ResponseFactoryInterface 作为第二个参数提供以创建响应。如果没有定义,Middleware\Utils\Factory 将自动检测它。

$whoops = new Whoops\Run();
$responseFactory = new MyOwnResponseFactory();

//Create a Run instance automatically
$middleware = new Middlewares\Whoops();

//Pass your own Run instance
$middleware = new Middlewares\Whoops($whoops);

//Pass a Run instance and ResponseFactory
$middleware = new Middlewares\Whoops($whoops, $responseFactory);

catchErrors

为了捕获不仅是可抛出异常,还包括 PHP 错误。这使得 whoops 临时注册以使用 set_error_handler 捕获错误。默认情况下它是启用的,所以,要禁用它,您必须使用 ->catchErrors(false);

//Do not catch errors
$middleware = (new Middlewares\Whoops())->catchErrors(false);

handlerContainer

此选项允许定义一个自定义的 PSR-11 容器,用于根据请求中的 Accept 标头创建 Whoops\Handler\HandlerInterface 的实例。

请参阅 变更日志 了解有关最近更改的更多信息,以及 贡献指南 了解贡献细节。

MIT 许可证 (MIT)。请参阅 许可证 了解更多信息。