首页 > 解决方案 > 在多个文件中拆分 Lumen 6.X 路由

问题描述

Lumen 框架自带routes/web.php文件。阅读有关如何在多个文件中拆分路线的信息时,我遇到了 Laravel 文档(不是 Lumen),看起来很清楚。

@see https://laravel.com/docs/6.x/routing#basic-routing >>>默认路由文件

它指出

所有 Laravel 路由都在您的路由文件中定义,这些文件位于 routes 目录中。这些文件由框架自动加载。routes/web.php 文件定义了用于您的 Web 界面的路由。...

在 routes/api.php 文件中定义的路由由 RouteServiceProvider 嵌套在一个路由组中。在该组中,会自动应用 /api URI 前缀,因此您无需手动将其应用到文件中的每个路由。您可以通过修改RouteServiceProvider 类来修改前缀和其他路由组选项

因此,您可以添加其他路由文件并编辑app/Providers/RouteServiceProvider.php类,这看起来非常直截了当。

只是 Lumen 没有任何app/Providers/RouteServiceProvider.php

那么在不破坏框架的情况下定义自己的路由文件的最佳方法是什么?

谢谢!

标签: phplaravelrouteslumen

解决方案


我们可以像 Laravel 一样做到这一点。

routes根文件夹中创建目录。

在 routes 目录中创建文件,例如routes/users.phproutes/posts.php

在文件中添加上述路由bootstrap/app.php文件

// Load The Application Routes
$app->router->group([
    'namespace' => 'App\Http\Controllers',
], function ($router) {
    require __DIR__.'/../routes/web.php';
    require __DIR__.'/../routes/users.php'; // mention file names 
    require __DIR__.'/../routes/posts.php';
});

推荐阅读