softonic/laravel-psr15-bridge

Laravel PSR-15 中间件桥接器

4.1.0 2024-04-03 08:56 UTC

This package is auto-updated.

Last update: 2024-09-03 09:45:52 UTC


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

此包提供了一个基于PSR-15的Laravel中间件桥接器,灵感来源于jshannon63/laravel-psr15-middleware

安装

要安装,请使用composer

composer require softonic/laravel-psr15-bridge

您现在可以使用它了!

用法

桥接适配器通过注入接收一个PSR-15中间件,因此桥接器对于Laravel来说是透明的,您可以使用它像任何其他中间件一样。

基于OpenApi Validation Middleware的示例

在桥接器内包装OpenApi Validation Middleware

// app/Providers/AppServiceProvider.php

use Softonic\Laravel\Middleware\Psr15Bridge\Psr15MiddlewareAdapter;

/**
 * Register any application services.
 *
 * @return void
 */
public function register()
{
    $this->app->bind(OpenApiValidation::class, function () {

        // Setup your PSR-15 middleware here
        $validator = new \HKarlstrom\Middleware\OpenApiValidation('schema.json');
    
        // Return it wrapped in the adapter to make Laravel accept it
        return Psr15MiddlewareAdapter::adapt($validator);
    });
}

现在您可以在任何地方使用它,例如生成一个别名。

// app/Http/Kernel.php

protected $routeMiddleware = [
    ...
    'openapi-validation' => OpenApiValidation::class,
];

查看laravel middleware获取更多信息。

工作原理

在下面的图中,您可以查看请求和响应流。

psr-15 bridge flow

如您所见,当您执行Psr15MiddlewareAdapter::adapt($validator);时,您正在给PSR-15中间件添加一个包装,它将请求和响应透明地转换为Laravel期望的中间件格式。

测试

softonic/laravel-psr15-bridge有一个PHPUnit测试套件和一个使用PHP CS Fixer的编码风格合规性测试套件。

要运行测试,请从项目目录中运行以下命令。

$ docker-compose run test

许可证

Apache 2.0许可证。有关更多信息,请参阅LICENSE