电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

DPT-一种PHP设计模式VIP免费

DPT-一种PHP设计模式_第1页
1/22
DPT-一种PHP设计模式_第2页
2/22
DPT-一种PHP设计模式_第3页
3/22
第1页共22页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共22页一、DPT介绍PHP为什么在主流的应用中总是那么不出色,总是不如.Net/Java,就是因为在PHP处理大型应用的时候,那些不完整的面向对象机制、数据库处理的单一,不通用性等等,影响了PHP做大型应用。那么,如何来改变这个状况呢?当然就是需要引进一些新的设计方法,把PHP中不健全的面向对象机制完整起来,进行更好的PHP大中型应用的开发。从Java过来的MVC模式非常流行,而且已经有部分已经引伸进了PHP领域,设计模式的引进,就是为了更好的控制项目开发。今天我要说一种设计模式,类似于MVC,它叫DPT模式。其实有时候我也觉得有点象Java里面的DAO(DataAccessObject),不过DAO是夹在业务逻辑层和数据库资源层之间的,而DPT更多的是把业务逻辑也封装在类里,和DAO层在相同的内容中。D-Data,数据收集层P-Php,PHP数据调用层T-Template,模板层首先,我们要对它进行简单的了解。第2页共22页第1页共22页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共22页Data,就是我们的数据层,它不是数据库抽象类,而是通过数据库接口,执行一些SQL,把数据获取的过程,一般把这种操作封装在类里面,就形成了我们的数据收集层。Php,就是对我们收集的数据进行整理,规划,同时解析模板进行数据的显示。Template,模板层,就是我们的HTML页,里面不包含任何PHP代码,只有模板标签的内容,通过它来控制数据在页面中有格式的显示。我们这里三层中,每一层都是鼓励由一个人来开发,然后通过PHPDoc之类的工具,把源代码中的API生成文档,由P层的人进行调用。那么,在实际的项目开发中,它是怎么运作的呢,我们又如何把这种设计模式引进我们的项目中呢?我们下面将运用一个实际的项目来讲解DPT模式。阅读一下内容必须具备基本的PHP4的面向对象编程、数据库抽象类、模板等知识。我们目前为了加速PHP的开发,都使用PHP封装了部分功能,比如数据库操作抽象类,模板类等等,这些都是为了开发复杂应用而应运而生的。目前比较主流的数据库抽象类有phplibdb、PEAR::DB、ADODB等等,模板处理类有phplibtemplate、smartTemplate、Smarty等等。本文中都是使用PHPGroup推荐的产品,数据口抽象类使用PEAR::DB,模板处理类使用Smarty,如果对这两个类库不熟悉的读者,请参考文章后面的链接。二、项目体系结构下面我们来构建我们基于DPT模式的PHP应用。(以下部分内容参考《MVC模式、类封装还是黑客代码》)文件目录结构(只涉及到关键的目录)class类库,包含所有的数据收集层template模板文件存放目录include常用库,包括PEAR、Smarty等类库,同时还有自己定义的基本函数config.inc.php基本配置文件,包括数据库配置,其他基本信息配置security.inc.php安全处理页,主要多传递的变量进行处理第3页共22页第2页共22页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共22页init.inc.phperror.php错误处理页class目录中存放了我们数据收集层中的内容,一般的建议是每个类文件只是针对一个表进行操作,比如cmsMessage.class.php,那么这个类就是属于功能CMS里面的,只负责操作Message这个表。所有的数据库交互和操作都是封装在类里的,在P层不允许出现任何直接操作数据库的语句。template目录中存放了我们的网页模板,模板中都是使用Smarty标签进行排列的,同时,在模板中,都是建议使用JS+CSS来控制页面,模板中只有DIV标签来简单的排版,这样,非常利于网站改版和更换皮肤。include目录就是对常用文件的包含,比如PEAR::DB类、Smarty类库文件等。config.inc.php就是基本的配置文件,包括数据库、基本常量等等,security.inc.php是安全处理页,我们这里主要是做一个变量的安全检查,下面内容我们将仔细介绍。init.inc.php是一个初始化操作的页面,包括初始化数据库链接,实例化模板处理类等等操作,error.php是错误信息处理页,所有的错误信息通过URL编码后转到该页。三、项目基本配置代码关键页代码实例:/***config.inc.php*配置文件*//*数据库配置*/define('DB_HOST','localhost');//...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

DPT-一种PHP设计模式

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部