对MVC的理解
摘要:本文主要谈到了对PHP开发中MVC开发模式的理解。
当用户通过url触发命令时,例如url=http://control.blog.sina.com.cn/admin/article/article_add,这意味着进入bolg项目中的admin.php文件,调用框架文件如ThinkPHP框架,找到article.class.php文件,其中article为一个controller类,继承于controller(TP3.2),article_add为方法,把用户通过url传过来的参数进行处理。这就是控制层!
当方法把穿过来的参数如db_blog,找到数据库中的那堆叫blog的表。通过db_Username,找到blog中的Username表,这就是业务层。但在MVC中,常常把业务层和模型层相合并。
传说中的模型层实际上就是对数据库的增删查改。
2014-02-25
PS:MVC,M指Model层,也就是模型层,最初的设计是程序需要操作的数据或信息,也就是将一些通用的涉及和数据库相关的操作写在model层里面。比如将对数据库的查询写在里面。但是,并不一定要写在里面,在实际的开发中,为了方便,可以写在control层,只要是能对数据库有效的操作,效果是一样的。这样说,并不意味着model层是多余的,你可以将经常用到的操作封装在里面,比如,query查询可以添加utf-8转gbk操作,等等。
V指View视图层。主要指我们送到Web浏览器的最终结果——比如我们的脚本生成的HTML。当说到视图时,很多人想到的是模版,所谓的模版就是别人做好的html页面,你把模版套进我们的系统就可以了。一般只要往里面添加标签,控制层把变量丢到视图层,其中的URL解析规格根据每个系统来设定。标签就是把丢过来的变量解析出结果,然后显示出来。
C指控制层controller.一个系统的主要业务逻辑就是在控制层里面编写。数据经过视图层提交给控制层,控制层加工(包括处理或对数据库的操作或与模型层的交互)后,可以把数据丢给视图层显示,或是更新数据库。
一个简单的例子参考:http://www.jb51.net/article/60796.htm
2016.5.21整理
对MVC的理解的更多相关文章
- MVC+EF 理解和实现仓储模式和工作单元模式
MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...
- WebForm和Asp.Net MVC的理解
我对WebForm和Asp.Net MVC的理解 比较WebForm和Mvc的请求处理方式 首先简单了解一下Asp.Net中怎么对页面进行请求处理的: 在管道的第7-8个事件之间,有一个MapHt ...
- 浅谈对MVC的理解
1.MVC设计模式理解 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...
- JSP的执行原理、JSP的内置对象、四大作用域解析、MVC模式理解>从零开始学JAVA系列
目录 JSP的执行原理.JSP的内置对象.四大作用域解析.MVC模式理解 JSP的执行原理 这里拿一个小例子来解析JSP是如何被访问到的 首先将该项目部署到tomcat,并且通过tomcat启动 通过 ...
- 【Java面试】说说你对Spring MVC的理解
一个工作了7年的粉丝,他说在面试之前,Spring这块的内容准备得很充分. 而且各种面试题也刷了,结果在面试的时候,面试官问:"说说你对Spring MVC的理解". 这个问题一下 ...
- vs怎么创建MVC及理解其含义
怎么创建MVC项目 一·1.点击 文件à新建à项目à模板àVisua C#(选择 .NET Framework 4.0或以上版本) à选择 MVC 3 Web应用程序 或者MVC 4 Web应用程序à ...
- 对spring,struts,hibernate及MVC的理解
对于spring,hibernate,struts等框架,刚开始的时候总是会很迷茫,不知道他们是用来做什么的. 1.对框架的作用理解 个人认为框架的作用是把代码进行了分类,减少了代码的耦合性. 如果不 ...
- 七天学会ASP.NET MVC ——深入理解ASP.NET MVC
七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二) ...
- 谈谈你对MVC的理解
MVC 模式 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发. Model(模型) - 模型代表一个存取数据的对象或 JAVA ...
随机推荐
- 导航控制器(UINavigationController)
一.导航控制器基础 1.导航控制器的组成 i.中间视图 ii.导航栏 iii.工具栏 2.配置一个导航界面 a.配置一个导航界面最重要的部分就是配置被包含的视图控制器. b.当它所属的视图控制器在导航 ...
- C#winform导出数据到Excel的类
/// <summary> /// 构造函数 /// </summary> public ExportData() { } /// <summary> /// 保存 ...
- Windows下安装Elasticsearch
1.下载elasticsearch-1.6.0 .jdk-7u67-windows-x64.exe 1.6.0必须用jdk1.7才能运行 2.配置JAVA_HOME:C:\Program Files\ ...
- spark streaming kafka1.4.1中的低阶api createDirectStream使用总结
转载:http://blog.csdn.net/ligt0610/article/details/47311771 由于目前每天需要从kafka中消费20亿条左右的消息,集群压力有点大,会导致job不 ...
- Ajax异步刷新局部页面的小李子
看到下面那幅图没有,我们要的是当点击确定以后,根据条形码搜索出商品信息,并且异步刷新右边页面:
- Thinkphp 下面执行crond
thinkphp开启cli支持 1.tp正好支持cli命令模式,手册的路径为13.7.4 如果是用的其他框架不支持cli,那么只能直接写程序了,其实就是写面向过程的最基础的php代码. 2.在入口文 ...
- 在Activity中设置new出来的TextView属性
//创建一个TextView---->textView TextView textView = new TextView(this); // 第一个参数为宽的设置,第二个参数为高的设置 te ...
- 苹果Mac OS系统shell命令大全介绍
基本命令 1.列出文件 ls 参数 目录名 例: 看看驱动目录下有什么:ls /System/Library/Extensions 参数 -w 显示中文,-l 详细信息, -a 包括隐藏 ...
- 编写高质量代码改善C#程序的157个建议
1.使用StringBuilder或者使用string.Format("{0}{1}{2}{3}", a, b, c, d)拼接字符串. 2.使用默认转型方法,比如使用类型内置的P ...
- VC中实现GCC的2个比较常用的位运算函数
在GCC中内嵌了两个位运算的函数,但在VC中并没有这两个函数(有相似函数). //返回前导的0的个数. int __builtin_clz (unsigned int x) //返回后面的0个个数,和 ...