关于webman中间件约定配置使用方式咨询

楚羽幽

问题描述

主项目中间件,有没有办法按约定配置的方式使用啊?
示例:在app/api/middleware/AuthMiddleware.php,将会自动加载使用该中间件
无需再config/middleware.php去填写配置,目前webman有这样的逻辑吗?

144 2 0
2个回答

故人重来

必须要配置的

  • 暂无评论

配置文件里写个脚本自动扫描目录下的中间件类就好了,让AI写很快就实现,比如

$baseDir = __DIR__ . '/../app';
$middlewares = [];

// 扫描 app/xx/middleware 目录
foreach (glob($baseDir . '/*', GLOB_ONLYDIR) as $moduleDir) {
    $moduleName = basename($moduleDir);
    $middlewareDir = $moduleDir . '/middleware';

    if (is_dir($middlewareDir)) {
        foreach (glob($middlewareDir . '/*.php') as $file) {
            $middlewares[$moduleName][] = 'app\\' . $moduleName . '\\middleware\\' . pathinfo($file, PATHINFO_FILENAME);
        }
    }
}

// 单独处理 app/middleware 目录
$rootMiddlewareDir = $baseDir . '/middleware';
if (is_dir($rootMiddlewareDir)) {
    foreach (glob($rootMiddlewareDir . '/*.php') as $file) {
        $middlewares[''][] = 'app\\middleware\\' . pathinfo($file, PATHINFO_FILENAME);
    }
}

return $middlewares;
×
🔝