jowy/exception-handling-middleware

PSR7 Http 异常处理中间件

v1.0 2015-06-22 06:42 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:42:54 UTC


README

Build Status

PSR 7 错误处理中间件

安装与要求

使用 composer 安装

$ composer require jowy/error-handling-middleware

此库有以下依赖项

  • zendframework/zend-diactoros,用于 PSR 7 实现
  • zendframework/zend-stratigility,提供 PSR 7 中间件的抽象
  • flip/whoops,用于错误格式化
  • psr/log,提供日志抽象

此库与以下库存在冲突

  • symfony/http-kernel,因为此库已经使用了 Symfony\Component\HttpKernel\Exception,尽管它要求整个 symfony/http-kernel 包,但它只要求异常类

用法

zendframework/zend-stratigility 上的用法

use Zend\Stratigility\MiddlewarePipe;
use Jowy\ExceptionHandler\ExceptionHandler;

$app = new MiddlewarePipe();
$route_middleware = new ExceptionHandler($whoops_output_handler, $psr3_logger, $catch);

$app->pipe($route_middleware);

relay\relay 上的用法

use Pimple\Container;
use Relay\Relay;
use Jowy\ExceptionHandler\ExceptionHandler;

$container = new Container();

$container["middleware"] = [
    ExceptionHandler::class => function() {
        return new ExceptionHandler($whoops_output_handler, $psr3_logger, $catch);
    }
];

$resolver = function ($class) use ($container) {
    return $container[$class];
}

new Relay(array_keys($container["middleware"], $resolver);

API

use Psr\Log\LoggerInterface;
use Whoops\Handler\HandlerInterface;

class ExceptionHandler
{
    public function __construct(HandlerInterface $error_handler, LoggerInterface $logger, $catch = true);
}

许可证

MIT,请参阅 LICENSE。