具有多个名称的Laravel路线

时间:2018-10-02 02:23:43

标签: laravel routes

我不能以一条路线使用两个名字? 如下所示:

Route::get('/', 'Admin\HomeController@index')->name(['admin.home', 'planner.home.index']);

谢谢!

4 个答案:

答案 0 :(得分:1)

只需定义两个具有两个名称的路线

Route::get('/', 'Admin\HomeController@index')->name('admin.home');

Route::get('/', 'Admin\HomeController@index')->name('planner.home.index');

答案 1 :(得分:0)

如果您希望在同一应用中拥有2个版本(路由名称),则可以执行此操作。

    <?php

    $routes = ['v1' => 'app.name1.', 'v2' => 'app.name2.'];
    foreach ($routes as $routeVersion => $routeName) {

        // Yours router app (i.e app/v1/pages or app/v2/pages)
        // Your router name (i.e app.name1 or app.name2)
        Route::prefix('app' . $routeVersion)
            ->middleware('auth')
            ->name($routeName)
            ->group(function(){

               # Your custom routes
               ... 

            }
        }
    }

    ?>

这是路由列表中响应的示例

Result]

希望它能为您服务!

答案 2 :(得分:0)

这仅在您需要名称时才有效,而不是网址,尽管这很棘手且草率。

Route::get('/', 'Admin\HomeController@index')->name('admin.home');
Route::get('/2', function() {
    return redirect()->route('admin.home')
})->name('planner.home.index');

因此,如果您使用 route('admin.home')route('planner.home.index'),它会将您重定向到 index 中的方法 HomeController

答案 3 :(得分:-1)

foreach($pages as  $key => $page){
    Route::any("/".$page, "Controller@index")->name($page);
}
相关问题