- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用PHP开始你的MVC Model层
用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--------not?null????????????????????cls_name--------string-----not?null????????????????????cls_address-----string-----nullstudent表格字段:stu_id----------int--------not?null???? stu_clsid-------int--------not?null???? ?? stu_name--------string-----null ClassModel.php?里面是class表的一个实体类ClassModelClassManager.php?里面是ClassModel的管理类ClassManagerStudentModel.php?里面是student表的一个实体类StudentModelStudentManager.php?里面是StudentModel的管理类StudentManagerDb.php?里面是一个数据库操作管理类,他和里面用的接口和正常使用情况是一样的,?但是本例只是模拟的实现了这个借口.因此,可以在不用真实数据库的情况下运行. 文件0:(Model.php)Model层实体的基础类 ?php//用来包装信息实体的基础类class?Model{????//这个实体类的数据,????//example:?array(id=1,?name=this?is?name);????var?$data;????//这个实体类的数据约束信息,用来判断加入的$data数据的准确性????//see:?ClassModel????var?$match;????//与该实体对应的数据库中表的名称????var?$table;????//初始化????function?Model($data){????????$this-data?=?$data;????}????//设置该实体的某个数据是值????function?set($key,?$value){????????$this-data[$key]?=?$value;????}????//获取该实体的某个数据????function?get($key){????????return?$this-data[$key]
文档评论(0)