middlewares / whoops
中间件,用于将 Whoops 作为错误处理器
v2.0.3
2024-03-21 14:38 UTC
Requires
- php: ^7.2 || ^8.0
- filp/whoops: ^2.5
- middlewares/utils: ^3.0 || ^4.0
- psr/container: ^1.0 || ^2.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- eloquent/phony-phpunit: ^5.0 || ^7.0
- friendsofphp/php-cs-fixer: ^2.0
- laminas/laminas-diactoros: ^2.2
- oscarotero/php-cs-fixer-config: ^1.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8|^9
- squizlabs/php_codesniffer: ^3.0
README
中间件,用于将 Whoops 作为错误处理器。
需求
- PHP >= 7.2
- 一个 PSR-7 http 库
- 一个 PSR-15 中间件分发器
安装
该软件包可以通过 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)。请参阅 许可证 了解更多信息。