【问题标题】:Routing priority, module routes before default? - Pingpong Laravel路由优先级,默认前的模块路由? - 乒乓球 Laravel
【发布时间】:2015-12-06 22:08:39
【问题描述】:

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

Route::get('modules/{module_slug}', 'Backend\ModuleController@getModule');

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

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

对于模块,我使用 Pingpong 一个 laravel 包,它为应用程序提供了一个模块结构,例如:

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

如果数据库中的模块恰好也是页面,我如何确保从模块中获取路由?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    我找到了解决方案。在默认 RouteServiceProvider 中包含默认路由之前的路由。通过模块文件夹循环执行此操作。

    如果 pingpong 使用 include 或 require 一次,这些文件将不会被包含两次。

    【讨论】:

      【解决方案2】:

      Laravel 路由按照它们在 routes.php 文件中出现的顺序进行评估。

      如果您将模块路由放在从数据库构建的路由之上,它们将始终优先。

      【讨论】:

      • 感谢您的回复。对不起,也许我的问题不够清楚。我正在使用乒乓球包。我的路线在不同的文件中。我已经编辑了我的问题。
      【解决方案3】:

      你真的不能确定。我建议创建超过 5 个字母的蛞蝓。并确保将'modules/pages' 路由保留在'modules/{module_slug}' 之前

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-02
        • 1970-01-01
        • 1970-01-01
        • 2020-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多