Laravel-将单个route文件分成多个文件

1、使用Request:is()方法和通配符*按模块加载相关route文件

  • routes/web.php代码
    //...
    //wiki文档
    if (Request::is('b/w/*')) {
        require __DIR__.'/web/b.wiki.php';
    }
    //活动管理
    if (Request::is('b/h/*')) {
        require __DIR__.'/web/b.hdgl.php';
    }
    //...
复制代码
  • routes/web/b.hdgl.php代码
//活动管理
Route::group(['namespace' => 'Hdgl', 'prefix' => 'h'], function () {
    //会议登记
    Route::resource('meetings', 'MeetingsController');
    // ...
});
复制代码

2、缺点

如果模块之间相互需要用route()辅助函数获取url的话,会获取失败,因为是识别了指定路径按需加载路由文件的,这时候改为直接require才行

routes/web.php代码

//...
//wiki文档
require __DIR__.'/web/b.wiki.php';
//活动管理
require __DIR__.'/web/b.hdgl.php';
//...
复制代码

你可能感兴趣的:(Laravel-将单个route文件分成多个文件)