[英]Laravel group admin routes
有没有一种方法可以对所有以admin/
开头的路由进行干净的分组? 我尝试了类似的方法,但是它当然没有用:
Route::group('admin', function()
{
Route::get('something', array('uses' => 'mycontroller@index'));
Route::get('another', array('uses' => 'mycontroller@second'));
Route::get('foo', array('uses' => 'mycontroller@bar'));
});
对应于以下路线:
admin/something
admin/another
admin/foo
我当然可以直接用admin/
所有这些路由的前缀,但是我想知道是否有可能按照我的方式进行 。
谢谢!
很不幸的是,不行。 路由组的设计并非如此。 这取自Laravel文档。
路由组使您可以将一组属性附加到一组路由,从而使代码保持整洁。
路由组用于将一个或多个过滤器应用于一组路由。 您正在寻找的是捆绑包!
从外观上看,捆绑销售就是您的追求。 在bundles目录中创建一个名为“ admin”的新bundle,并将其注册到application / bundles.php文件中,如下所示:
'admin' => array(
'handles' => 'admin'
)
使用handles键可以更改捆绑软件将响应的URI。 因此,在这种情况下,对admin的任何调用都将通过该捆绑包运行。 然后在新的包中创建一个route.php文件,然后可以使用(:bundle)占位符注册处理程序。
// Inside your bundles routes.php file.
Route::get('(:bundle)', function()
{
return 'This is the admin home page.';
});
Route::get('(:bundle)/users', function()
{
return 'This responds to yoursite.com/admin/users';
});
希望能给您一些想法。
在Laravel 4
您现在可以使用prefix
:
Route::group(['prefix' => 'admin'], function() {
Route::get('something', 'mycontroller@index');
Route::get('another', function() {
return 'Another routing';
});
Route::get('foo', function() {
return Response::make('BARRRRR', 200);
});
Route::get('bazz', function() {
return View::make('bazztemplate');
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.