Laravel 自动加载多路由文件

项目背景

公司团队使用 Laravel 开发产品, Laravel 路由默认使用 /routes/web.php, 多人开发需要每个人定义自己模块的路由文件. 所以需要配置多人路由

解决方案

思路

\app\Providers\RouteServiceProvider.php 路由服务提供者文件, mapWebRoutes 函数, 返回单个路由对象, 所以循环多个文件就可以解决问题了

代码
/**
 * Notes: 自动加载 routes/web 目录下的路由
 * User: Lzm
 * Date: 2021/8/16
 * Time: 11:15
 */
protected function mapAllWebRoutes()
{
    $all_route_file = scandir(base_path('routes/web'));

    foreach ($all_route_file as $val){
        if (strstr($val, '.php')){
            Route::middleware('web')
                ->namespace($this->namespace)
                ->group(base_path('routes/web/'.$val));
        }
    }
}
// 添加自定义路由函数
public function map()
{
    $this->mapApiRoutes();

    $this->mapWebRoutes();

    // 调用路由方法
    $this->mapAllWebRoutes();

}

这样就可以在 routes/web/ 目录下创建自定义路由文件了

image.png

测试

亲测好用, 很简单!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容