## 控制器定义 ThinkCMF5的控制器完全按 TP5的控制器用法来,但 CMF 封装了几个重要控制器基类,为了更方便开发者,我们建议如果没有特殊需求,自己创建的控制器请最好继承一个基类控制器; 用于 WEB 项目的基类控制器有四个,分别是:`BaseController`,`HomeBaseController`,`UserBaseController`,`AdminBaseController` 继承关系 ``` think\Controller TP控制器基类 │ ├─BaseController CMF控制器基类 │ │ ├─AdminBaseController 后台控制器基类 │ │ ├─HomeBaseController 前台控制器基类 │ │ │ └─ UserBaseController 前台用户控制器基类 ``` 控制类名都要加 `Controller` 后缀,一个 `portal`应用下的控制器如下: ```php <?php namespace app\portal\controller; use cmf\controller\HomeBaseController; class IndexController extends HomeBaseController { public function index() { $this->assign("hello", "Hello ThinkCMF Portal!"); return $this->fetch(':index'); } } ``` 这个控制器类文件的路径是: ``` app/portal/controller/IndexController.php ``` > 注意: ThinkCMF5应用控制器的根命名空间是`app`,而不是`application`,这样是为了更清楚表明控制器所在目录