【ThinkPHP6.x框架】(3)控制器与数据库

控制器

基础控制器

        控制器都存放在app/controller下,当然也可以通过config/route.php中的'controller_layer'来进行修改。一般来说,创建控制器后,推荐继承基础控制器来获得更多的方法(extends BaseController),基础控制器仅仅提供了控制器验证功能,并注入了 think\App和 think\Request。这两个的大致使用方法如下:

app->getBasePath();
        // 返回当前方法名
        return $this->request->action();
    }
}

         关于控制器的编码规范:

        1、类名和文件名保持一致,采用驼峰式命名法(首字母大写)。控制器默认执行index方法,所以在test类中,如果有两个方法index()hello(),访问的url分别如下:

        index:http://localhost/tp6/public/test/

        hello:http://localhost/tp6/public/test/hello/

        2、特殊的类名称访问方式

        如下的类定义,可以使用如下两种url访问:

        http://localhost/tp6/public/helloworld

        http://localhost/tp6/public/hello_world

        3、在学到模型时,模型名称需要与控制器相同,在这种情况下,可以将config/route.php中的字段'controller_suffix'字段进行修改,此时则需要在命名时添加Controller后缀,访问时不添加Controller后缀才能访问成功。

【ThinkPHP6.x框架】(3)控制器与数据库_第1张图片

空控制器

        在单应用模式下,我们可以给项目定义一个Error控制器类用以提醒错误,在app/controller中创建Error.php,具体代码如下:

        在该项目中若出现错误,则返回该类下index方法的返回值。

【ThinkPHP6.x框架】(3)控制器与数据库_第2张图片 报错的内容为返回值

        这种方法不受调试模式的约束(.env中开启和关闭调试模式的报错信息如下)

【ThinkPHP6.x框架】(3)控制器与数据库_第3张图片 关闭调试模式

【ThinkPHP6.x框架】(3)控制器与数据库_第4张图片 开启调试模式

 多级控制器

        多级控制器是在app\controller中新建目录并创建控制器,这里通过实例来展示其访问方式,建立如下的多级控制器,其中包含了如下的方法:

【ThinkPHP6.x框架】(3)控制器与数据库_第5张图片

        在这里,访问index()方法的url路径为:

         http://localhost/tp6/public/group.blog/或http://localhost/tp6/public/group.blog/index

        访问read()方法的url路径为:

        http://localhost/tp6/public/group.blog/read

  

渲染输出

        这里先介绍不需要安装插件的渲染输出。不推荐使用  die、exit等  PHP方法中断代码执行输出。

        1、 采用return即可返回。这种方法不能输出数组。

        2、 在return的基础上使用json函数输出。例如:return json(arr);

        3、 使用halt($data)可以立即输出$data不执行后面的内容。

数据库初探

        在ThinkPHP中,我们使用如下的方法来访问数据库,这种访问方式是基于PDO模式的(社么是PDO?)。

        在连接数据库之前,需要检查.env和app\config\database.php中的相关配置。详细的过程这里不再赘述。在单控制器中创建DataTest.php,这里展示连接数据库的示例代码,不做具体解释,后面会有详细说明。

table('user')->select();
        return $user;
    }

    public function demo(){
        $user = Db::connect('sfkbbs')->table('sfk_content')->select();
        return $user;
    }
}

模型初探

        这里先介绍模型的构建方法,需求为用模型访问数据库:

        1、在app目录下创建model目录,创建User.php的模型类(类的名称与数据库中表的名称一致),其中定义了受保护的字段$connection,用于切换app\config\database.php中配置的数据库。

【ThinkPHP6.x框架】(3)控制器与数据库_第6张图片

        2、使用控制器调用该模型,在DataTest.php中来访问该模型,具体访问代码如下:

        3、以该项目为例,访问的url链接为:http://localhost/tp6/public/datatest/getsfk_content

【ThinkPHP6.x框架】(3)控制器与数据库_第7张图片

你可能感兴趣的:(后端菜鸟的逆袭之路,ThinkPHP6.x框架,后端)