企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
ThinkCMF的基类控制器有四个,分别是:`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控制器基类 ``` 对于AdminBaseController和HomeBaseController,分别用于管理后台和前台的模板显示,如果你的controller继承了AdminBaseController,在你调用fetch方法时,它会帮你去找后台模板目录(`public/themes/admin_simpleboot3`)下的文件,同样HomeBaseController也会帮你去找前台模板目录(`public/themes/default`)下的文件,这样就很好的实现了前后台模板的分离。 对于UserBaseController,继承这个类的Controller会帮你判断会员的相关的操作,比如用户是否已经登陆,用户是否有权限访问此url。 所以想开发应用的同学,一定要在自己创建`Controller`之前想好你的`Controller`要完成什么功能,再去让它`extends`相应的基类。