MVC各层的典型实现

5 篇文章 0 订阅

模型层(Model)的典型实现

功能

用于处理数据的存取操作,比如表的增删查改。
通常都是根据“控制器的要求”,以返回合适的数据。(取)
有时候,控制器还需要传递过来相应的数据,才能获取对应的结果,例如需要传递方法的参数。(存)

模型层的典型代码模式

class 模型类名{
function 方法1(){。。。}
function 方法2(){。。。}
function 方法3(){。。。}
。。。
}
说明:
1.每个方法,都是为了获取“某种数据”。
2.有的方法,可能需要一些参数(形参)
3.这些方法,通常都需要跟数据库打交道,所以都需要“mysqldb”工具类及相关的数据库连接数据。

控制器调用模型层获取数据的典型做法

require '模型层类文件';
$obj = new 模型对象();
$data = $obj -> 某个方法();

基础模型类

见demo-2

实现模型类的单例(模型工厂)

见demo-3

整个模型层的类库结构图

dao: Data Access Object(数据访问对象)

这里写图片描述




控制器层(Controller)的典型实现

控制器的作用

1.获取请求数据
2.调用模型获取数据:根据请求信息,以决定调用哪个模型来获取什么数据。
3.载入视图文件以显示数据:根据请求信息,以决定载入哪个视图文件用以显示需要显示的数据。

控制器类的常规做法

这里写图片描述
可以按此模式,写更多的控制器,但基本模式都一样。

其功能:
1.用于获取用户的请求数据。
2.获取模型数据。
3.显示到视图中——或也可能直接输出。

控制器的划分

通常,一个项目中,会有很多的功能。我们通常会将一些“相关功能”合在一起,称为一个“模块”,并使用一个控制器去“表达”这个模块中的各个功能——其实就是方法。

图示:
这里写图片描述

控制器的“动作”

一个控制器,就是一个类。
一个控制器,就只包含一些方法。
所以,这些方法,被称为“动作”——因为每个方法,一定对应了网页界面上用户所在的某个”操作(动作、请求)“
习惯上,所有动作(方法),都以“Action”这个词为结尾。
这些动作(方法名),将会对应网页上的链接(或跳转或提交)动作中的“act”参数的值

图示:
视图文件动作:
A:这里写图片描述
B:这里写图片描述

对应控制器中的动作:
A:这里写图片描述
B:这里写图片描述

实际应用中,在网页的连接(或跳转或提交)的时候,传参的参数名我们会写成“a”。

例如:
这里写图片描述
则在控制器中获取数据时:
这里写图片描述

基础控制器类

用于将所有控制器功能(方法、动作)中的一些常见操作集中处理,比如设定文档编码、实现页面跳转。

图示:
这里写图片描述




视图层(View)的典型实现

功能

展示页面的静态内容,以及相关的变量数据。

数据分类

数据分为:
    a.普通标量数据:echo $v1
    b.数组数据:foreach($arr as $key => $value){...}    //循环输出
            或:echo $arr['id']; echo ['age'];    //单独输出
    c.对象数据:echo $obj->p1; echo $obj->p2.
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值