2013-01-31 225 views
0

我是Laravel 4的新手,我很难掌握路线。我有一个前台到我的网站和一个后端。我想在example.com/dashboard/...下显示后端发生的所有事情。我也想用足智多谋的控制器。我需要在routes.php中设置哪些设置,以便我始终可以引用我的users控制器,但是在URL中的所有情况下都会发生在dashboard之下?Laravel 4路线

例子:

我链接到users/edit/1但在URL看起来像example.com/dashboard/users/edit/1。信息中心应该有一个索引页面(因此example.com/dashboard实际上显示一个页面),但所有其他URL都附加到该页面。

回答

3

我认为这在Larvel 4 Documentation中覆盖得很好。

除非我的误解,这应该得到你想要的结果你的榜样情况:

Route::get('dashboard', '[email protected]'); 
Route::get('dashboard/users/edit/{id}', '[email protected]'); 
etc. 

//编辑

另外,使用封闭的回调,你可以这样做这个:

Route::get('dashboard/users/{var1}/{var2?}', function($var1, $var2 = null) 
{ 
    $controller = new UsersController; 
    return $controller->{$var1}($var2); 
}); 

哪个不需要你指定每一个路径。或者,正如我在下面的评论中提到的,如果它符合您的需求,您可以使用Resource Controller

+0

是的,我知道我可以链接到'仪表板/用户/ ...'。我想我问的是,如果有可能让UsersController从'/ dashboard/users/...'而不是'/ users/...'工作,而不必显式链接到'/ dashboard/users/......'无处不在。 – user2030045

+0

也许将它指定为[资源控制器](http://four.laravel.com/docs/controllers#resource-controllers)会对你有用吗? '路线::资源('仪表板/用户','UsersController');' – micflan

+0

编辑我的答案包括一个替代解决方案,我认为可能更接近你要找的东西。 – micflan