httpsoft/http-error-handler

处理 PSR-7 和 PSR-15 组件的错误

1.1.0 2023-05-05 21:14 UTC

This package is auto-updated.

Last update: 2024-09-05 23:58:11 UTC


README

License Latest Stable Version Total Downloads GitHub Build Status GitHub Static Analysis Status Scrutinizer Code Coverage Scrutinizer Code Quality

此包实现了 Psr\Http\Server\MiddlewareInterfacePsr\Http\Server\RequestHandlerInterface

文档

安装

此包需要 PHP 版本 7.4 或更高版本。

composer require httpsoft/http-error-handler

使用 ErrorHandler

use HttpSoft\ErrorHandler\ErrorHandler;

/**
 * @var Psr\Http\Message\ServerRequestInterface $request
 * @var Psr\Http\Server\RequestHandlerInterface $handler
 *
 * @var HttpSoft\ErrorHandler\ErrorListenerInterface $logErrorListener
 * @var HttpSoft\ErrorHandler\ErrorListenerInterface $sendErrorListener
 * @var HttpSoft\ErrorHandler\ErrorResponseGeneratorInterface $responseGenerator
 */

$errorHandler = new ErrorHandler($handler, $responseGenerator);

$errorHandler->addListener($logErrorListener);
$errorHandler->addListener($sendErrorListener);

/** @var \Psr\Http\Message\ResponseInterface $response */
$response = $errorHandler->handle($request);

使用 ErrorHandlerMiddleware

use HttpSoft\ErrorHandler\ErrorHandlerMiddleware;

/**
 * @var Psr\Http\Message\ServerRequestInterface $request
 * @var Psr\Http\Server\RequestHandlerInterface $handler
 *
 * @var HttpSoft\ErrorHandler\ErrorListenerInterface $logErrorListener
 * @var HttpSoft\ErrorHandler\ErrorListenerInterface $sendErrorListener
 * @var HttpSoft\ErrorHandler\ErrorResponseGeneratorInterface $responseGenerator
 */

$errorHandler = new ErrorHandlerMiddleware($responseGenerator);

$errorHandler->addListener($logErrorListener);
$errorHandler->addListener($sendErrorListener);

/** @var \Psr\Http\Message\ResponseInterface $response */
$response = $errorHandler->process($request, $handler);