PHP和DAO计划模式
DAOData Access Object,数据存取工具计划模式关于从PHP和MySQL教程一步步走过去的人来说是一个新的观点。我们的编码中的一大局部就是用来办理数据库获得和操纵。跟着大数据的到临,和数据剖析办法的进步,数据操纵愈来愈紧张。
DAO计划模式旨在办理两个成绩:反复、和数据源抽象。
反复:在顺序中我们一样平常会写一句SQL语句来在数据库中发明一个条目。之后又写一个SQL语句来更新某一栏。不时地反复写SQL既无聊又不优雅。
事实上,我们假如用DAO计划模式来实现的.话,一个数据存取工具会用来封装SQL的创立过程,减少复杂性和反复性。它该当不必辨别具体的表布局和数据库引擎。
数据源抽象:另外一个优势就是数据层的抽象。目下当今你的逻辑代码不必再担忧数据库引擎和表的干系。调用他们的大众办法可以返回随意率性范例的数据,不管底层必要怎么样的SQL。
但是顺序员不要过分计划DAO。简化DAO的计划就好,不要增加不必要的功效。
在github上有一些使用了DAO模式的Repo,有的复杂,有的过分计划了。复杂地说,实现上我们必要一个抽象类baseDAO和一些承继了它的实体类比方userDAO。
在baseDAO中必要界说两个大众函数:fetch和update,辨别得到一行数据和更新一个数组。还界说一些公有的函数比方链接数据库,还有公有的数据比方以后表的主键和标明。
在userDAO承继baseDAO的时候,必要声明公有数据比方主键和标明,然后在baseDAO的fetch和update的根蒂根基上自界说一些新的大众函数。这样做的好处是把生成SQL的工作全部封装在两个抽象类的大众函数当中,userDAO以及其他的更多DAO只是调用这一函数罢了。
必要更多的数据存取操纵的时候,我们就基于baseDAO新建一个userDAO大概itemDAO,然后实例化这一工具,这就是DAO计划模式。