博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php match_model的简单使用
阅读量:5097 次
发布时间:2019-06-13

本文共 876 字,大约阅读时间需要 2 分钟。

模型层典型实现

典型MVC框架中,模型层代码组织结构是什么样的!

模型类

 

每张表对应一个操作模型当前表中的所有操作,都是用该模型完成

 

[模型类]每张表的操作模型,由某个模型类实例化而来的对象【语法】。

每个表操作,对应模型对象的一个方法。

 

模型类示例代码:

 

 

 

同时修改控制器中,使用模型的方法:

C

 

 

 

 

Tip:模型,在项目中,通常指的是模型类的对象,而不是模型类本身。

 

基础模型类

显而易见,在模型,可能会出现重用的代码,例如(得到DAO对象过程),而且是每个模型对象的每个方法中都需要!

 

 

 

其他具体模型类所继承:

MatchModel

 

 

基础模型类中增加初始化数据库操作对象的功能:

Model.class.php

 

 

实例化好的MYSQLDB类的对象,存储到模型对象的属性上,从保证,模型类的每个方法中都可以使用该属性。

模型方法的使用:

MatchModel->getList();

 

 

 

何时调用该初始化DAO方法

实例化模型类对象时,就需要操作数据库,就需要执行初始化DAO的方法

可见在构造方法中被调用即可:

Model.class.php

 

 

 

 

此时的模型结构关系:

 

 

 

模型的单例

如果在一个功能控制器)中,如果使用某个表的多次操作,应该使用该表的一个模型就可以完成全部任务。

如何保证模型的单例

典型的,可以通过一个单例工厂来实现(为什么不三私一?是多个所有的模型类)都需要单例效果)

 

工厂类

直接new,不能实现需要的业务逻辑,需要辅助一段代码逻辑代码,才能确定如何去实例化对象,此时需要工厂类。

 

模型对象的单例效果

不能在需要模型时直接就实例化,因为不能实现单例效果,需要一段逻辑代码,来判断当前模型类是否已经实例化,如果实例化过,则直接返回实例化过的对象,否则实例化新的。

 

 

代码实现:

增加工厂类:

Factory.class.php

 

 

 

控制器中,为了得到单例对象,则需要通过工厂类的M方法完成:

 

 

 

 

模型的流程

 

转载于:https://www.cnblogs.com/xu1115/p/10971517.html

你可能感兴趣的文章
mysqldump迁移说明
查看>>
JDBC连接数据库(PreparedStatement)
查看>>
uva10152-龟壳排序
查看>>
针对MyISAM表锁的解决方案
查看>>
读《高性能建站指南》(下)
查看>>
路视明合作
查看>>
Linux常用命令大全
查看>>
如何调试手机上的网页以及基于Cordova/Phonegap的Hybrid应用
查看>>
006 虚拟主机
查看>>
190109 周所遇到的坑 - 进化神经网络
查看>>
四元数(Quaternion)和旋转
查看>>
Qt树形控件QTreeView使用1——节点的添加删除操作 复选框的设置
查看>>
iOS沙盒目录结构解析 (转)
查看>>
多窗体之间关系
查看>>
Js的History对象
查看>>
Mac Sublime Text 2 快捷键(转)
查看>>
动态绑定数据日历jquery
查看>>
C# 泛型编程之泛型类、泛型方法、泛型约束
查看>>
微信小程序记账本进度一
查看>>
iframe 父子互传消息,父页面滚动,子页面触发父页面高度
查看>>