用PHP开始你的MVC(三)实现你的Model层

三、实现你的Mode层Model层,就是MVC模式中的数据处理层,用来进行数据和商业逻辑的装封,进行他的设计的时候设计到三个个概念:——Model类。是实体类。用来保存数据库表格的中一条记录的所有字段的数据。并且可以验证这条记录数据的完整性。——ModelManager类。是实体类的管理类。通常每一个实体类(Model)都要有一个对应的管理类(ModelManager)。管理类可以用来管理实体类里面的数据纪录(例如删除/添加/更改…..)。但是ModelManager类不一定要有对应的Model类。——db类。用来管理对数据库的联接。ModelManager类所有的对数据的操作。都是通过这个db类来实现的。在整个MVC模式中。只有这个db类可以直接对数据库进行操作。同时也只有ModelManager类可以对db类进行调用。看上去好象是比较麻烦。但是实际上并不复杂。这种Model层设计方式。和网上购物系统的购物车程序是极其相似的。Model可以看作是购物车里的单个商品的信息类。Manager可以看作是订单。订单是用来管理采购的商品的。下面是一个简单的例子。应该是比较典型的。着重看他的整个设计和流程的实现。仔细研究一下。其实不难。注意:下面例子使用的所有的类和方法都是经过简化的。实际情况比这个要复杂的多。但是。作为一个实例已经是足够用了。文件夹结构:
|-Db.php|-Model.php|-Manager.php|-ModelTest1.php|-ModelTest2.php|-ModelTest3.php|-ModelTest4.php|-Model/|-Model/ClassModel.php|-Model/StudentModel.php|-Model/ClassManager.php|-Model/StudentManager.php注意文件夹和文件名的大小写
内容:假设有一个数据库,保存在两张表,一张是class(班级)表格,一张是student(学生)的表格,
class表格字段:cls_澳门新葡亰网站注册,id———-int——–notnullcls_name——–string—–notnullcls_address—–string—–nullstudent表格字段:stu_id———-int——–notnull
stu_clsid——-int——–notnull stu_name——–string—–null
ClassModel.php里面是class表的一个实体类ClassModelClassManager.php里面是ClassModel的管理类ClassManagerStudentModel.php里面是student表的一个实体类StudentModelStudentManager.php&n