softonic / laravel-psr15-bridge
Laravel PSR-15 中间件桥接器
4.1.0
2024-04-03 08:56 UTC
Requires
- php: >=8.1
- illuminate/http: ^9.0 || ^10.0 || ^11.0
- nyholm/psr7: ^1.2
- psr/http-server-middleware: ^1.0
- symfony/psr-http-message-bridge: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^10.0
README
此包提供了一个基于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获取更多信息。
工作原理
在下面的图中,您可以查看请求和响应流。
如您所见,当您执行Psr15MiddlewareAdapter::adapt($validator);
时,您正在给PSR-15中间件添加一个包装,它将请求和响应透明地转换为Laravel期望的中间件格式。
测试
softonic/laravel-psr15-bridge
有一个PHPUnit测试套件和一个使用PHP CS Fixer的编码风格合规性测试套件。
要运行测试,请从项目目录中运行以下命令。
$ docker-compose run test
许可证
Apache 2.0许可证。有关更多信息,请参阅LICENSE。