繁体   English   中英

Laravel组管理员路线

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM