【问题标题】:Duplicate routes Laravel重复的路线 Laravel
【发布时间】:2015-02-11 07:14:30
【问题描述】:

例如,为了论证,我有一个如下所示的路由组

Route::group(['prefix' => '1.0', function()
{
    Route::any('a', 'a@a');
    Route::any('b', 'a@a');
    Route::any('c', 'a@a');
});

如果我想将我的版本号提高到 1.1,有没有一种方法可以维护路由 a、b 和 c,而无需复制组和更改前缀。

那么在这种情况下,在不复制路由定义的情况下让1.0/a1.1/a 一样工作?

一个用例可能是这样的方法 d@d 存在于 1.1 中,但不是 1.0,但 1.0 路由必须保持活动状态,以便对调用的调用不需要根据他们正在进行的调用切换版本。

【问题讨论】:

标签: laravel laravel-4


【解决方案1】:

在您的routes.php 文件中尝试以下操作;

$versions = array('1.0','1.1');

foreach ($versions as $version){
    Route::group(['prefix' => $version, function()
    {
        include('path/to/version_routes.php');
    });
}

我通常将我的路由部分放入包含文件中。将包含版本路由的部分放置在哪里取决于您。

还要在您的版本路由部分中保存重新声明的路由,只需将其包含到更高版本中的其他版本路由文件中,即在 1.1 中包含 1.0 路由部分。然后你不要重复自己。

这将允许您将每个版本的每个路线都保留在自己的位置。只需更改数组即可更轻松地添加另一个版本。

请注意:这未经测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 2020-08-24
    • 2019-01-12
    • 2016-05-03
    • 2021-04-05
    • 2020-12-04
    • 2017-11-30
    相关资源
    最近更新 更多