php怎么链接数据库表,thinkphp是怎么链接数据库的,文档上面显示操作表都是M()函数,之后进行连贯操作,...

这篇博客详细解析了ThinkPHP3.2版本中数据库操作的内部机制。从M方法的调用开始,到数据库连接的建立,重点介绍了数据库中间层如何隔离底层数据库类型,以及Model类中数据库操作的实现。博主强调了在Driver/Mysql.class.php中initConnect方法在实际连接数据库过程中的关键作用,为理解ThinkPHP框架的数据库操作提供了清晰的思路。
摘要由CSDN通过智能技术生成

并不清楚你说的是哪个版本,暂且当成3.2版本。

首先,如果你还没有比较熟悉面向对象,先把OOP过一遍再看框架的东西

如果已经熟悉了OOP,再弄清楚PDO

最后要弄清楚M方法到数据库的调用栈

你说 “最终调用的是thinkphp核心目录下的DB/Driver”,可以说对,也可以说不对。因为实际上Driver是作为一个具体数据库驱动的基类。

调用栈

1、调用M方法,实际上是实例化一个Model对象

2、一个Model对象至少有一个数据库链接句柄,这时候通过Db数据库中间层获取到一个具体的数据库驱动实例。这是一个什么数据库取决于配置(假设是mysql)。中间层的设计就是你不需要管底层是什么样的数据库,直接获取就行了。

(到这里为止我知道你都是清楚的,但是其实这里并没有实际连接数据库)

3、这个时候再返回Model类中,所有的涉及到的数据库操作CURD,基本上都是通过$this->db来完成的。$this->db就是2中获取到的实例。

4、这个时候到Driver/Mysql.class.php,和Driver.class.php中看一下。在调用相应的方法的时候,都有调用同一个方法initConnect, 这里开始才是真正的连接数据库。

这是我学习TP时自己的理解。如果有说错的望指点。大家一起交流。

希望对你有帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值