[控制器定义]

ThinkCMF6.0的控制器完全按 TP6.0的控制器用法来,但 CMF 封装了几个重要控制器基类,为了更方便开发者,我们建议如果没有特殊需求,自己创建的控制器请最好继承一个基类控制器;

用于 WEB 项目的基类控制器有下面几个,分别是:BaseController,HomeBaseController,UserBaseController,AdminBaseController,RestBaseController,RestUserBaseController,RestAdminBaseController``PluginBaseControllerPluginAdminBaseController,这些基类都位于cmf\controller命名空间下 继承关系

  1. think\Controller TP控制器基类
  2. ├─BaseController CMF控制器基类
  3. ├─AdminBaseController 后台控制器基类
  4. ├─HomeBaseController 前台控制器基类
  5. └─ UserBaseController 前台用户控制器基类
  6. ├─PluginBaseController 插件控制器基类
  7. └─ PluginAdminBaseController 插件后台控制器基类
  8. ├─RestBaseController RESTful控制器基类
  9. ├─RestUserBaseController 用户REST控制器基类
  10. ├─RestAdminBaseController 后台REST控制器基类

控制类名都要加Controller 后缀,一个demo应用下的控制器如下:

  1. <?php
  2. namespace app\demo\controller;
  3. use cmf\controller\HomeBaseController;
  4. class IndexController extends HomeBaseController
  5. {
  6. public function index()
  7. {
  8. $this->assign("hello", "Hello ThinkCMF!");
  9. return $this->fetch(':index');
  10. }
  11. }

这个控制器类文件的路径是:

  1. app/demo/controller/IndexController.php

注意: ThinkCMF6.0应用控制器的根命名空间是app,而不是application,这样是为了更清楚表明控制器所在目录