控制器定义

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

控制器定义

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

用于 WEB 项目的基类控制器有四个,分别是: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控制器基类

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

<?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

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