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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel - 具有“子”视图的路线相关的知识,希望对你有一定的参考价值。

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

这是正确的做事方式吗?

答案

使用前缀:

   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

另一答案

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

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时,使用此概念更容易实现

另一答案

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

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

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

/ e:澄清:

第一部分

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

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

以上是关于Laravel - 具有“子”视图的路线的主要内容,如果未能解决你的问题,请参考以下文章

更改返回视图以在 laravel 搜索功能上返回路线

需要一种有效的方法来避免使用 Laravel 5 重复代码片段

切换片段时如何维护子视图的状态?

如何将路线返回到laravel中的视图

在刀片视图中显示路线的结果(Laravel)

片段之间的共享数据(父列表视图和子列表视图)