【问题标题】:order of route declarations in laravel packagelaravel 包中路由声明的顺序
【发布时间】:2014-01-19 04:33:13
【问题描述】:

我制作了一个包含路由的 laravel 包,它是一个特殊的路由,可以捕获大量可能的 url。我不希望我的路由优先于主应用程序中声明的其他包或路由。如何确保我的路线是最后声明的路线?

【问题讨论】:

    标签: php laravel laravel-4 laravel-routing


    【解决方案1】:

    路由按照它们在 routes.php 中列出的顺序进行评估。只需确保这条路线是数组中的最后一条即可。

    更新

    我相信你可以在 App::before 过滤器中注册路由,它会在所有用户路由之后注册它。

    【讨论】:

    • 我在谈论我的包裹中的路线。我在自己的路由文件中理解这是正确的,但是所有其他加载路由的包呢。
    • 抱歉,第一次阅读时误解了您的问题。我已经更新了我的答案。
    • 不,before 过滤器在其他命名路由之前运行这些路由,我想要在所有路由之后(没有名称或未知名称)。
    • 啊,抱歉,您不是指过滤器之前的路由,而是过滤器之前的应用程序。所以你是说你在那里注册了一条路线?
    • 是的。我还没有尝试过,但我相信如果你在App::before(function(){}) 中执行Route::get() 定义的路由将在routes.php 中的所有路由都已加载后进行评估,因为routes.php 在App::before 之前加载过滤器被评估。
    猜你喜欢
    • 2018-12-23
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多