企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 控制器定义 ThinkCMF5.1的控制器完全按 TP5.1的控制器用法来,但 CMF 封装了几个重要控制器基类,为了更方便开发者,我们建议如果没有特殊需求,自己创建的控制器请最好继承一个基类控制器; 用于 WEB 项目的基类控制器有四个,分别是:`BaseController`,`HomeBaseController`,`UserBaseController`,`AdminBaseController`, `RestBaseController`,`RestUserBaseController`,`RestAdminBaseController` `PluginBaseController`,`PluginAdminBaseController`,这些基类都位于`cmf\controller`命名空间下 继承关系 ``` think\Controller TP控制器基类 │ ├─BaseController CMF控制器基类 │ │ ├─AdminBaseController 后台控制器基类 │ │ ├─HomeBaseController 前台控制器基类 │ │ │ └─ UserBaseController 前台用户控制器基类 │ │ ├─PluginBaseController 插件控制器基类 │ │ │ └─ PluginAdminBaseController 插件后台控制器基类 ``` ``` RestBaseController RESTful控制器基类 │ ├─RestUserBaseController 用户REST控制器基类 │ ├─RestAdminBaseController 后台REST控制器基类 ``` 控制类名都要加 `Controller` 后缀,一个 `demo`应用下的控制器如下: ```php <?php namespace app\demo\controller; use cmf\controller\HomeBaseController; class IndexController extends HomeBaseController { public function index() { $this->assign("hello", "Hello ThinkCMF!"); return $this->fetch(':index'); } } ``` 这个控制器类文件的路径是: ``` app/demo/controller/IndexController.php ``` > 注意: ThinkCMF5.1应用控制器的根命名空间是`app`,而不是`application`,这样是为了更清楚表明控制器所在目录