【ThinkPHP5】从数据库层框架体会设计思想


在写业务代码时,完成单一功能就能够,在代码中使用 PDO对象MySQL链接类,用原生的mysql语句访问。php

在框架中,面向对象和设计模式的思想才更能体现。
如下是TP5中数据库访问的中间层架构。
html

其中
一、Db:数据库操做的入口对象同时肩负着链接数据库的做用,具体来讲在Db内部实例化了一个collection对象,经过这个对象实现数据库的链接;对数据的操做也都是经过Db对象来完成。(工厂模式的设计思想)mysql

二、Collection:经过php的pdo实现数据库的链接;处于一种待命的状态,惰性的,具体说就是在执行sql语句的时候进行链接这样能够节约服务器的资源。
image.pngsql

三、Query:是对数据库常见操做CURD的封装,支持链式操做,所以开发者能够不用关心细节,支持不一样类型数据库的查询;(面向对象的封装思想,隐藏细节和差别,让开发者调用更加方便)数据库

四、Builder:将query封装的(不一样类型)查询语句翻译成原生的sql语句,而后返回给collection,而后进行链接、查询,能够具体处理不一样数据库查询的差别性,使得开发者能够不考虑具体的实现方式;设计模式

五、Drivers:提供不一样类型数据库的链接器的类,开发者不须要关心具体的实现细节。服务器

数据库访问中间层的目的:
一、简化在查询操做数据库过程当中的sql语句的编写;
二、开发者不须要关心具体的实现形式,实现进行数据库的访问。架构

相关文章
相关标签/搜索