1.4 KiB
1.4 KiB
name, description, globs
| name | description | globs | |
|---|---|---|---|
| backend-middleware | 中间件规范,支持全局中间件、路由中间件、控制器注解中间件 |
|
文件位置
app/{app}/middleware/{Name}Middleware.php
中间件类型
| 类型 | 注册方式 | 示例 |
|---|---|---|
| 全局 | config/middleware.php |
AccessTokenMiddleware |
| 路由 | Route::group 第二个参数 | PermissionMiddleware |
| 注解 | #[Middleware] |
OperationMiddleware |
代码模板
<?php
namespace app\adminapi\middleware;
use Webman\Http\Request;
use Webman\Http\Response;
class {Name}Middleware
{
public function process(Request $request, callable $next): Response
{
// 前置处理
$response = $next($request);
// 后置处理
return $response;
}
}
插件复用规则
插件如需注册 appapi 或 adminapi 中间件,优先复用主项目中已经存在的实现:
'appapi' => [
\app\api\middleware\ApiAccessTokenMiddleware::class,
],
'adminapi' => [
\app\adminapi\middleware\AccessTokenMiddleware::class,
],
除非插件目录中确实存在实现了 process(Request $request, callable $handler): Response 的中间件类,否则不要引用 plugin\\{name}\\app\\middleware\\ApiAccessTokenMiddleware。
检查清单
- 中间件注册方式是否正确
- 是否处理了异常情况
- 是否返回正确的 Response 对象