hkinnoteam / zmiddleware
此包最新版本(1.0.2)没有可用的许可信息。
1.0.2
2021-01-07 15:20 UTC
Requires
- doctrine/annotations: ^1.11
- doctrine/cache: ^1.10
This package is auto-updated.
Last update: 2024-09-07 23:19:14 UTC
README
安装
composer require "hkinnoteam/zmidlleware"
实现
- 创建一个实现了 ZMiddleware\Contract\MiddlewareInterface 的类
use ZMiddleware\Contract\MiddlewareInterface; class AssignResultMiddleware implements MiddlewareInterface { public function handle($pass, \Closure $next) { // before request $validate = true; if ($validate){ return 'not allow'; } // request method $number = $next($pass); //after request $number->total_qty = 100; return $number; } }
将注解添加到您的API方法中
use AssignResultMiddleware; use ZMiddleware\Annotations\Middleware; class Foo { /** * single middleware * * @Middleware(AssignResultMiddleware::class) * @return object */ public static function Foo(): object { $foo = new \stdClass(); return $foo; } }
您还可以分配多个中间件
use AssignBooMiddleware; use AssignFooMiddleware; use ZMiddleware\Annotations\Middlewares; use ZMiddleware\Annotations\Middleware; class Foo { /** * multiple middlewares * * @Middlewares({ * @Middleware(AssignBooMiddleware::class) * @Middleware(AssignFooMiddleware::class) * }) * @return object */ public static function Foo(): object { $foo = new \stdClass(); return $foo; } }