在多个文件中拆分 Lumen 6.X 路由
Posted
技术标签:
【中文标题】在多个文件中拆分 Lumen 6.X 路由【英文标题】:Splitting Lumen 6.X routes in multiple files 【发布时间】:2020-11-09 22:17:16 【问题描述】: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
类
那么在不破坏框架的情况下定义自己的路由文件的最佳方法是什么?
谢谢!
【问题讨论】:
只是在 web.php 中包含文件?还是那太简单了;)我没有 Lumen 经验,只有很多 Laravel 经验。 【参考方案1】:我们可以像 Laravel 一样做到这一点。
在根文件夹中创建routes
目录。
在 routes 目录中创建文件,例如,
比如routes/users.php
、routes/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';
);
【讨论】:
【参考方案2】:流明中的等价物是located in /bootstrap/app.php
。
您可以在那里适当地添加路由文件条目。如您所见,实际上并没有用于添加文件或任何东西的特定 API。所以只要写出你认为合适的逻辑。
【讨论】:
以上是关于在多个文件中拆分 Lumen 6.X 路由的主要内容,如果未能解决你的问题,请参考以下文章