Php 如何在RouteServiceProvider-Laravel 5.3中定义路由文件的变更单
如上所述,我在我的Php 如何在RouteServiceProvider-Laravel 5.3中定义路由文件的变更单,php,laravel,routing,laravel-5.3,Php,Laravel,Routing,Laravel 5.3,如上所述,我在我的app/Providers/RouteServiceProvider中定义了两个路由文件 public function map() { $this->mapWebRoutes(); $this->mapProjectRoutes(); $this->mapApiRoutes(); // } 下面是我的定义 protected function mapProjectRoutes() { Route::group([
app/Providers/RouteServiceProvider
中定义了两个路由文件
public function map()
{
$this->mapWebRoutes();
$this->mapProjectRoutes();
$this->mapApiRoutes();
//
}
下面是我的定义
protected function mapProjectRoutes()
{
Route::group([
'middleware' => 'web',
'namespace' => $this->namespace,
], function ($router) {
require base_path('project/routes/project.php');
});
}
问题:
我希望先解析project.php
中的路由,然后解析web.php
。
我已经检查了上述定义的所有四个可能位置,例如。将mapProjectRoutes
置于mapWebRoutes
上方和下方。
无论函数的顺序是什么,web.php
中的路由优先。
使project.php
中的路由工作的唯一方法是注释掉$this->mapWebRoutes()代码>
我的问题
如何控制路由文件的顺序。
为了防止出现简单的错误,每次更改顺序后,我都会执行php artisan cache:clear
-但没有任何帮助
Thx看起来问题可能与您的项目路由也使用web中间件这一事实有关。除了组织之外,您是否有任何理由将项目路线分开?很难定义答案。一个包含路由的文件由一个外部包发布,即我自己的启动包。目前,我更改了项目特定路线的名称以避免冲突。感谢您的关注。我也尝试了您提供的代码,但它不起作用,我建议您使用像咖啡因/modules
这样的模块,并注释掉主要路线,这可能会有所帮助。