thinkphp5 数据库和模型详解 之1 数据库基础
16lz
2021-01-22
1、ThinkPHP5的数据访问层是基于PHP内置的PDO对象实现
2、数据库入口类Db 主要就是一个connect方法
理论上来说,框架并不依赖Db类,该类的存在只是为了简化数据库抽象层的操作而提供的一个工厂类
所有的数据库操作都是经过Db类调用,并且Db类是一个静态类,但Db类自身只有一个公共方法connect
3、连接器类Connection 连接类的基类是think\db\Connection
4、数据库连接都是惰性的,只有最终执行SQL的时候才会进行连接。
5、查询器类Query 数据访问层核心只有一个唯一的查询类:think\db\Query
所有的数据库查询都使用了PDO的预处理和参数绑定机制
虽然我们始终使用Db类操作数据库,而实际上大部分方法都是由查询器类提供的方法
6、生成器类Builder 生成类一般不需要自己调用,而是由查询类自动调用的
7、数据库的调试模式和应用的调试模式是两个不同的概念。
8、Db类的方法都是静态调用(不需要去实例化think\Db类)
9、一般来说并不建议在控制器的操作方法中直接操作数据库Db类
10、对数据表的CURD操作,除了select和存储过程调用使用query方法之外,其它的操作都使用execute方法
11、数据访问层支持分布式数据库,包括读写分离,要启用分布式数据库,需要开启数据库配置文件中的deploy参数
12、事务的支持由连接器类来完成,但查询器类中也对事务进行了封装调用,mysql需要使用InnoDB引擎。
13、事务模型、Db类都可以使用,使用方法一样。
2、数据库入口类Db 主要就是一个connect方法
理论上来说,框架并不依赖Db类,该类的存在只是为了简化数据库抽象层的操作而提供的一个工厂类
所有的数据库操作都是经过Db类调用,并且Db类是一个静态类,但Db类自身只有一个公共方法connect
3、连接器类Connection 连接类的基类是think\db\Connection
4、数据库连接都是惰性的,只有最终执行SQL的时候才会进行连接。
5、查询器类Query 数据访问层核心只有一个唯一的查询类:think\db\Query
所有的数据库查询都使用了PDO的预处理和参数绑定机制
虽然我们始终使用Db类操作数据库,而实际上大部分方法都是由查询器类提供的方法
6、生成器类Builder 生成类一般不需要自己调用,而是由查询类自动调用的
7、数据库的调试模式和应用的调试模式是两个不同的概念。
8、Db类的方法都是静态调用(不需要去实例化think\Db类)
9、一般来说并不建议在控制器的操作方法中直接操作数据库Db类
10、对数据表的CURD操作,除了select和存储过程调用使用query方法之外,其它的操作都使用execute方法
11、数据访问层支持分布式数据库,包括读写分离,要启用分布式数据库,需要开启数据库配置文件中的deploy参数
12、事务的支持由连接器类来完成,但查询器类中也对事务进行了封装调用,mysql需要使用InnoDB引擎。
13、事务模型、Db类都可以使用,使用方法一样。
更多相关文章
- php连接mysql的三种方法
- php扫马、内网查mysql数据库账号密码(内网webshell渗透)
- PHP中使用cURL实现Get和Post请求的方法
- Wordpress查询另一个wordpress数据库for循环
- 怎么知道php代码运行时调用了那个类、那个方法呢?
- php 从指定数字中获取随机组合的方法
- php执行shell不阻塞方法
- 确定脚本所在的服务器以及PHP中的配置的最佳方法是什么?
- 数据库分卷备份 thinkphp3.2版