模块作为一个整体, 便于开发和维护, 是一种有效的编码手段. Yii中原生, 支持模块, 那么 Laravel 支持这样的方式么? 答案是显然的. 不多废话, 上代码.
1. 新建路径组 Route::group
定义一组路径前缀
Route::group(array('prefix' => 'admincp', 'namespace' => 'Admin'), function () { Route::get('/', 'HomeController@index'); Route::controller('home', 'HomeController'); });
上述代码中映射了 Admin 下的 HomeController.
2. 在控制器目录(controllers)下新建, Admin 目录, 再新建控制器 HomeController. HomeController 有3个要点:
1. namespace 的定义
2. 对控制器的继承, 使用 \Controller
3. 定义 missingMethod 方法, 用于响应路由的自动映射.
代码, 如下:
这样, 就可以在 controllers/Admin 目录下尽情的, 玩耍了. 当然新建控制器的时候, 记得在 Route::group 下建立新的映射.