nordsoftware/lumen-chained-exception-handler

此包已被废弃且不再维护。未建议替代包。

Lumen框架的链式异常处理器

3.1.0 2022-03-30 12:32 UTC

This package is auto-updated.

Last update: 2023-03-29 00:33:47 UTC


README

GitHub Actions status Scrutinizer Code Quality Coverage Status Code Climate

此实用程序允许您在Lumen应用程序中链式连接多个异常处理器。如果您想使用默认异常处理器的渲染能力,但又想使用第三方异常处理器的报告逻辑,这将非常有用。报告逻辑通常可以通过添加另一个Monolog处理器来扩展,但所有异常都将被转换为字符串,这并不总是可行的。

安装

运行以下命令通过Composer安装包

composer require nordsoftware/lumen-chained-exception-handler

使用方法

bootstrap/app.php中注册具体异常处理器的$app->singleton()调用替换为以下内容

$app->instance(
    Illuminate\Contracts\Debug\ExceptionHandler::class,
    new Nord\Lumen\ChainedExceptionHandler\ChainedExceptionhandler(
        new App\Exceptions\Handler()
    )
);

构造函数接受两个参数,一个主异常处理器和一个可选的次要处理器数组。《report()`方法将在所有处理器上调用,但《render()`和《renderForConsole()`方法仅将在主处理器上调用。

例如,如果您想使用默认的《Laravel\Lumen\Exceptions\Handler》作为主错误处理器,以及《Foo\Bar\ExceptionHandler》和《Baz\ExceptionHandler》作为次要异常处理器,您将使用以下内容

$app->instance(
    Illuminate\Contracts\Debug\ExceptionHandler::class,
    new Nord\Lumen\ChainedExceptionHandler\ChainedExceptionhandler(
        new Laravel\Lumen\Exceptions\Handler(),
        [new Foo\Bar\ExceptionHandler(), new Baz\ExceptionHandler()]
    )
);

运行测试

克隆项目并通过运行以下命令安装其依赖项

composer install

运行以下命令以运行测试套件

vendor/bin/phpunit

许可证

查看LICENSE