Laravel 4中的管理员路由(或前缀路由)

时间:2013-01-22 16:29:43

标签: php laravel laravel-4

如何在Laravel 4(Restfull控制器)中创建管理员特定的路由:

/admin/users        (get - /admin/users/index)
/admin/users/create (get)
/admin/users/store  (post)

我想知道:

  • 我需要的文件和位置创建theam
  • 我需要如何创建路线

4 个答案:

答案 0 :(得分:10)

Laravel 4中,您现在可以使用prefix

Route::group(['prefix' => 'admin'], function() {

    Route::get('/', 'AdminController@home');

    Route::get('posts', 'AdminController@showPosts');

    Route::get('another', function() {
        return 'Another routing';
    });

    Route::get('foo', function() {
        return Response::make('BARRRRR', 200);
    });

    Route::get('bazz', function() {
        return View::make('bazztemplate');
    });

});

答案 1 :(得分:4)

答案 2 :(得分:3)

您可以使用的真正有用的工具是artisan CLI。

使用此功能,您将能够生成所需的功能文件,其中包含所有必需的路径,以使其成为RESTful。

php artisan controller:make users

会为您生成函数文件。然后在routes.php文件中,您只需添加

即可
Route::resource('users', 'Users');

这将设置所有必要的路线。

有关此内容的更多信息,请阅读文档。

http://four.laravel.com/docs/routing#resource-controllers

http://four.laravel.com/docs/artisan

修改

要使此管理员具体,请简单地更改代码,如下所示,并将控制器移动到controllers文件夹内的管理文件夹。

Route::resource('admin/users', 'admin.Users');

第一个参数是路径,第二个参数是控制器文件名/文件夹。

在Laravel中,如果您将控制器放在文件夹中,要在路径或URL中指定它,您可以使用一个点作为文件夹。

然后,您可以对此进行扩展并使用路径过滤器添加身份验证,特别是在下面的页面上找到的“基于模式的过滤器”的代码。

http://four.laravel.com/docs/routing#route-filters

答案 3 :(得分:0)

  

Laravel 4 - 轻松添加管理控制器

这让我疯了很多年,但我把它解决了。

<强> routes.php文件

Route::resource('admin', 'Admin_HomeController@showIndex');

<强> /controllers/Admin/HomeController.php

请注意,文件夹名称Admin必须为“A”

<?php

class Admin_HomeController extends Controller {
    public function showIndex() {
        return 'Yes it works!';
    }   
}

或者,您可以使用组方法

Route::group(array('prefix' => 'admin'), function() {
    Route::get('/', 'Admin_HomeController@showIndex');
});

由于 丹尼尔