php - 在多个文件中拆分 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
类
那么在不破坏框架的情况下定义自己的路由文件的最佳方法是什么?
谢谢!
解决方案
我们可以像 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';
});
推荐阅读
- postgresql - Alter Column TYPE USING - 不能从 varchar 更改为 numeric
- ios - 如何获取 HealthKit 锻炼活动类型?
- button - Puppeteer - 点击通知后面的按钮
- flutter - 如何在 Table 中设置 Flutter TableRow 以使其具有 Expanded() 在 Column 中的行为方式?
- matlab - MATLAB:在这个函数中,为什么不让我设置小数点后的精度来从文本文件中读取数据?
- javascript - 如何在 Promise 中将 Express 错误返回到前端?
- node.js - refreshToken 和 accessToken 一起使用有什么好处?
- spring - 春季交易 | 不回滚部分代码
- mysql - issue in MySQL query due Table name 'CASE'
- javascript - 如何使用javascript重定向?