对MVC的理解

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

PHP中MVC模式也称Web MVC,从上世纪70年代进化而来。MVC的目的是实现一种动态的程序设计,便于后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。

MVC各部分的职能:

模型Model – 管理大部分的业务逻辑所有的数据库逻辑。模型提供了连接和操作数据库的抽象层。

  1.  包含属性用于描述特定的数据
  2. 应该包含业务逻辑,以确保数据能够满足表现的需要
  3. 应该包含数据操作的逻辑,如数据的增删改等
  4. 不应使用$_GET $POST这样的数据,是基于model的功能和重用的考虑
  5. 不应出现Html代码,不属于model层的范畴


控制器Controller - 负责响应用户请求准备数据,以及决定如何展示数据。

  1. 包含Html,以及所有负责表现的代码,可以出现php,但只是用于遍历数据
  2. 不应该包含Db请求,数据库的操作
  3. 不应该出现引用$_GET $_POST这类数组的代码,View只专注于表现
  4. 如果必要,可以访问Model和Controller的属性,不过仅为了满足表现的需要

视图View – 负责渲染数据,通过HTML方式呈现给用户。

  1. 可以访问$_GET  $_POST 这样的用户请求数组
  2. 创建模型,并决定一个模型对象的生命周期
  3. 不应该出现SQL语句,数据库请求应该放到Model中
  4. 不应该出现Html代码,应该将其放入View中

MVC流程图

一个典型的Web MVC流程:

  1. Controller截获用户发出的请求;
  2. Controller调用Model完成状态的读写操作;
  3. Controller把数据传递给View;
  4. View渲染最终结果并呈献给用户。
    MVC的三层从大体看是很独立的,而且每个模块负责的工作也和明确,控制器负责处理用户的请求,逻辑处理包括数据模型的调用以及对表现层的输出控制;模型主要负责数据关系,处理和业务逻辑操作;表现层主要负责前端页面的内容表示,可适当包含一些控制表现的逻辑;

    MVC的实现必须遵循各层的原则,以保持代码的良好的结构和开发及维护的效率,然在开发过程中我们会遇到这种情况,有些逻辑方法的实现似乎放在C层或M层都合适,个人觉得这个只要遵循MVC的实现原则和代码的规范前提下,可适当的处理,通常放在M层概率大些;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值