路由优先级,默认之前的模块路由?——乒乓球拉拉维尔



在我的默认路由中,我有一些路由,如:

Route::get('modules/{module_slug}', 'BackendModuleController@getModule');

module_slug参数将来自数据库,但我也有一些特定模块的路由,如:

Route::get('modules/pages', 'PagesController@index');

对于模块,我使用 ping_pong 一个为应用程序提供模块结构的laravel包,如:

- app
-- Http
--- routes.php
-- Other Folders
- modules
-- Pages
--- Http
---- routes.php

我怎么能确保从模块的路由被采取,如果在数据库中的模块恰好是页面?

Laravel路由是按照它们在Routes .php文件中出现的顺序求值的。

如果你把你的模块路由放在你从数据库中构建的路由之上,它们将永远优先。

我找到了解决办法。在默认的RouteServiceProvider中包含在默认路由之前的路由。通过循环遍历modules文件夹来完成此操作。

如果乒乓球使用include或要求一次,这些文件将不会被包含两次。

你真的不能确定。我建议用5个以上的字母做弹头。并且一定要在'modules/{module_slug}'

之前保留'modules/pages'路由。

最新更新