🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 资源控制器 资源控制器可以让你轻松的创建RESTFul资源控制器,可以通过命令行生成需要的资源控制器,例如: ~~~ // 生成index模块的Blog资源控制器 php think make:controller index/Blog ~~~ 或者使用完整的命名空间生成 ~~~ php think make:controller app\index\controller\Blog ~~~ 最终生成的控制器类代码为: ~~~ <?php namespace app\index\controller; use think\Controller; use think\Request; class Blog extends Controller { /** * 显示资源列表 * * @return \think\Response */ public function index() { // } /** * 显示创建资源表单页. * * @return \think\Response */ public function create() { // } /** * 保存新建的资源 * * @param \think\Request $request * @return \think\Response */ public function save(Request $request) { // } /** * 显示指定的资源 * * @param int $id * @return \think\Response */ public function read($id) { // } /** * 显示编辑资源表单页. * * @param int $id * @return \think\Response */ public function edit($id) { // } /** * 保存更新的资源 * * @param \think\Request $request * @param int $id * @return \think\Response */ public function update(Request $request, $id) { // } /** * 删除指定资源 * * @param int $id * @return \think\Response */ public function delete($id) { // } } ~~~ 配合生成的资源控制器,我们只需要为资源控制器注册一个资源路由就可以实现RESTFul: ~~~ Route::resource('blog','index/Blog'); ~~~ 设置后会自动注册7个路由规则,分别对应资源控制器中的七个方法,如下: |请求类型|生成路由规则|对应操作方法| |----|----|----| |GET |blog |index| |GET |blog/create |create| |POST |blog |save| |GET |blog/:id |read| |GET |blog/:id/edit |edit| |PUT |blog/:id |update| |DELETE |blog/:id |delete| 关于资源路由的详细讲解请参考官方的[《5.0路由完全指南》](http://www.kancloud.cn/thinkphp/route-master)中的(七)资源路由一章。 推荐使用资源控制器替代之前的REST控制器扩展(下一个大版本会废除think\controller\Rest控制器)。