几个重要基类

优质
小牛编辑
143浏览
2023-12-01

ThinkCMF的基类控制器有四个,分别是:BaseController,HomeBaseController,UserBaseController,AdminBaseController, RestBaseController,RestUserBaseController,RestAdminBaseController PluginBaseControllerPluginAdminBaseController,这些基类都位于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相应的基类。