项目背景
公司团队使用 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/
目录下创建自定义路由文件了
测试
亲测好用, 很简单!