摘要: 上篇简单介绍了如何实现一个业务逻辑类,这篇将说明如何生成一个数据访问类。完整的数据访问类理论上应该像一个ORM,可以将关系数据表映射成相应的对象操作方法, 这里我们根据上篇文章的需求,设计一个简单的数据访问类。 数据访问类最好不要包含任何业务逻辑,只有数据表的CRUD的方法以及根据规则的的事务等。我们的需求只是增加数据,修改和查看数据,只要实现这些方法即可。代码比较简单,不多说。View Code <?phprequire_once('ConnectToDB.php');class NewsData{ private $con; //加入一条数据 public fun.. 阅读全文
posted @ 2011-11-23 12:10 好好学习_Dream 阅读(1689) 评论(0) 推荐(0) 编辑
摘要: 对于一些大型项目,分层可以分离代码关注点,可以让不同的技术人员协同开发,对代码的更改和维护也具有极大的优势,此后也可以方便的更换组件,不用推到整个项目,比如常见的更换数据库的场景。分层的项目一般多采用.NET或Java技术,而对于PHP比较少一些,可能由于PHP的大型项目偏少以及PHP一般不做后端的方向,这篇文章简单的写一个PHP分层的示例。 定义一个最简单的业务场景,发布博客,为了简单化,我们认为博客的数据表只有主键Id、标题、内容和发布时间。对于这个数据表,我们先抽象出最简单业务逻辑类。View Code <?phpclass Blog{ private $Id; //主键 ... 阅读全文
posted @ 2011-11-23 11:44 好好学习_Dream 阅读(2136) 评论(0) 推荐(1) 编辑
摘要: 在Mysql驱动的PHP网站中,MySql连接的一般都是利用脚本的结束来进行释放,在一些分层写的php网站中,若一个页面含有多个数据访问类,由于每个数据访问类都会有数据库的连接,导致这一个页面在脚本结束前会有多个数据库连接,在一些大型的页面连接可能多至数十上百,为此需要进行必要的控制,对于解释性的PHP语言,脚本是顺序执行的,也就是说数据库连接的利用同时只有一个,根据这个特点,可以用单例模式来进行改造。<?php class ConnecToDB{ private static $instance; private function _constuct(){} //私有构造... 阅读全文
posted @ 2011-11-23 10:55 好好学习_Dream 阅读(3368) 评论(1) 推荐(0) 编辑