我刚开始使用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');
这是正确的做事方式吗?
答案 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(){
是身份验证。根据您想要访问此页面的人而定,您可能不需要它