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

时间:2018-07-05 13:22:57

标签: php laravel laravel-5

我刚开始使用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');

这是正确的做事方式吗?

3 个答案:

答案 0 :(得分: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 :(得分: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时,使用此概念会更容易

答案 2 :(得分:0)

routes文件夹中有一个web.php文件,您需要在其中添加:

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

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

/ e:进行澄清:

第一部分

  

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

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