有没有办法在Laravel 4中配置自动路由?

use*_*085 1 laravel laravel-4

我是Laravel 4的新手,来自codeigniter,我一直在尝试在Laravel中编写代码并来回查看他们的文档,我的问题是,有没有办法让路由能够自动检测控制器的方法?

我一直在用

Route::resource('admin','AdminController');
Run Code Online (Sandbox Code Playgroud)

但它似乎只提供相同的结果

Route::get('admin','AdminController@index');
Run Code Online (Sandbox Code Playgroud)

即使在包中也会出现同样的问题,我一直在尝试开发一个模块化的应用程序,就像我在codeigniter中可以实现的那样,其中有模块文件夹来放置不同的视图和控制器.

我只是不希望每次我有一个新方法的方式我也需要在路线中注册,如果你要更新或增强你的控制器方法,它有点像很多工作.

Try*_*elf 7

我认为您正在寻找这个--Laravel允许您使用简单的REST命名约定轻松定义单个路径来处理控制器中的每个操作.首先,使用Route :: controller方法定义路由:

Route::controller('users', 'UserController');
Run Code Online (Sandbox Code Playgroud)

控制器方法接受两个参数.第一个是控制器处理的基URI,而第二个是控制器的类名.接下来,只需向控制器添加方法,前缀为他们响应的HTTP谓词:

class UserController extends BaseController {

public function getIndex()
{
    //
}

public function postProfile()
{
    //
}

}
Run Code Online (Sandbox Code Playgroud)

索引方法将响应控制器处理的根URI,例如 -

http://localhost/users/
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅文档