您的位置:首页 > 编程语言 > PHP开发

thinkphp5 数据库和模型详解 之1 数据库基础

2017-02-24 11:32 246 查看
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类都可以使用,使用方法一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: