Laravel - 具有“子”视图的路线

问题描述 投票:1回答:3

我刚刚开始使用Laravel并发现路线设置有点令人困惑。我正在尝试创建几个页面,最终应该有结构:

domain.com/onboarding
domain.com/onboarding/skip
domain.com/onboarding/skip/anothersubview

等等

现在我有:

// Registered and Activated User Routes
Route::group(['middleware' => ['auth', 'activated', 'activity']], function () {

    Route::get('/onboarding', 'UserController@Onboarding')->name('onboarding');
});

这里的解决方案(以及最佳实践)是在我的Route::group中添加另一条路线,例如:

Route::view('/onboarding/skip', 'onboarding.skip');

这是正确的做事方式吗?

php laravel laravel-5
3个回答
1
投票

使用前缀:

   Route::group(['prefix' => 'onboarding','middleware' => ['auth', 'activated', 'activity']], function () {

        Route::get('/', 'UserController@Onboarding')->name('onboarding');
        Route::get('/skip', 'UserController@OnboardingSkip')->name('onboarding_skip');
        Route::get('/skip/anothersubview', 'UserController@OnboardingSkipSubview')->name('onboarding_skipsubview');

    });

在这里阅读更多:https://laravel.com/docs/5.6/routing


1
投票

我过去在一些项目中使用的结构如下所示:

Route::group(['prefix' => 'onboarding'], function(){
    Route::group(['prefix' => 'something'], function(){
        Route::get('/', function(){}); //onboarding/something
        Route::group(['prefix' => 'somethingelse'], function(){
            Route::get('/', function(){}); //onboarding/something/somethingelse
            Route::get('/{id}', function(){}); //onboarding/something/somethingelse/15
        });
    });
});

嵌套组可以帮助您创建更容易扩展的路由器,因为当您意识到需要在长结构中间添加一些URL时,使用此概念更容易实现


0
投票

您的路线文件夹中有一个web.php文件,您需要添加:

Route::get('/subpage', 'controllername@function-name-you-want-to-call');

如果它不让我知道,希望这会有所帮助

/ e:澄清:

第一部分

Route :: group(['middleware'=> ['auth','activated','activity']],function(){

是身份验证。根据您要访问此页面的人员,您可能不需要它

© www.soinside.com 2019 - 2024. All rights reserved.