日期:2011-09-10  浏览次数:20452 次

 

我把模型分成了几块儿,A,B,C,D,E,F,这几块儿分别代表了什么呢?

\

      首先A,这个Base代表的就是整个框架的基类,所有的模型文件都必须继承自这个基类;

      由于B的内容需要依赖D,所以先说一下D,D首先有一个ConnectionManager,它负责管理数据库的连接和关闭还有数据库驱动的选择,这个命名自己感觉不太好,先就将就吧,既然它负责数据库的连接和关闭,肯定它就有以下方法:

1 <?php
2 public class ConnectionManager {
3    public static function getConnection(){}
4    public static function releaseConnection() {}
5 }

 

     由于数据库的连接对于所有模型来说都是共享的,所以我们把ConnnectionManager设置为单例。

     D中右边有PDO,MYSQL_*,这代表什么意思呢,实际上就是代表各种驱动,有可能你使用的是比较先进的PDO,也有可能你使用的是比较老的MYSQL_*这种,也有可能你使用的是mysqli,ADO等等,正是由于PHP数据库这一块儿的混乱情况,我们需要在框架中定义一个契约,所有的驱动类按照这个契约编写实现,这样,不管驱动类的底层实现怎样,但是上层看到的内容都是一致的。

     现在我们定义一下这个契约:

01 <?php
02