摘要:本文主要谈到了对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的理解的更多相关文章

  1. MVC+EF 理解和实现仓储模式和工作单元模式

    MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...

  2. WebForm和Asp.Net MVC的理解

    我对WebForm和Asp.Net MVC的理解   比较WebForm和Mvc的请求处理方式 首先简单了解一下Asp.Net中怎么对页面进行请求处理的: 在管道的第7-8个事件之间,有一个MapHt ...

  3. 浅谈对MVC的理解

    1.MVC设计模式理解 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...

  4. JSP的执行原理、JSP的内置对象、四大作用域解析、MVC模式理解>从零开始学JAVA系列

    目录 JSP的执行原理.JSP的内置对象.四大作用域解析.MVC模式理解 JSP的执行原理 这里拿一个小例子来解析JSP是如何被访问到的 首先将该项目部署到tomcat,并且通过tomcat启动 通过 ...

  5. 【Java面试】说说你对Spring MVC的理解

    一个工作了7年的粉丝,他说在面试之前,Spring这块的内容准备得很充分. 而且各种面试题也刷了,结果在面试的时候,面试官问:"说说你对Spring MVC的理解". 这个问题一下 ...

  6. vs怎么创建MVC及理解其含义

    怎么创建MVC项目 一·1.点击 文件à新建à项目à模板àVisua C#(选择 .NET Framework 4.0或以上版本) à选择 MVC 3 Web应用程序 或者MVC 4 Web应用程序à ...

  7. 对spring,struts,hibernate及MVC的理解

    对于spring,hibernate,struts等框架,刚开始的时候总是会很迷茫,不知道他们是用来做什么的. 1.对框架的作用理解 个人认为框架的作用是把代码进行了分类,减少了代码的耦合性. 如果不 ...

  8. 七天学会ASP.NET MVC ——深入理解ASP.NET MVC

    七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC   系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二) ...

  9. 谈谈你对MVC的理解

    MVC 模式 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式.这种模式用于应用程序的分层开发. Model(模型) - 模型代表一个存取数据的对象或 JAVA ...

随机推荐

  1. CTest

    一.初识CTest CTest是CMake集成的一个测试工具,在使用CMakeLists.txt文件编译工程的时候,CTest会自动configure.build.test和展现测试结果 CTest有 ...

  2. Linux Hugetlbfs内核源码简析-----(二)Hugetlbfs挂载

    本文只讨论执行"mount none /mnt/huge -t hugetlbfs"命令后,mount系统调用的执行过程(基于Linux-3.4.51),不涉及进程相关的细节. m ...

  3. mvc路由设置参数配置类似于url重写

    1.新建的mvc项目中Global.asax 2.在另外一个控制器中的视图中 3. 4.

  4. 前端基础 - Defer对象

    参考:http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html < ...

  5. Python在金融,数据分析,和人工智能中的应用

    Python在金融,数据分析,和人工智能中的应用   Python最近取得这样的成功,而且未来似乎还会继续下去,这有许多原因.其中包括它的语法.Python开发人员可用的科学生态系统和数据分析库.易于 ...

  6. 登录成功返回登录前页面js代码

    /*------ setCookie(name,value) -----------*/ function setCookie(name,value) { var Days = 30; //此 coo ...

  7. 通过Eclipse创建SQLite数据库

    import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database ...

  8. 关于VS2012下安装破解文件Visual Assit X的一点说明

    今天在使用Visual Studio 2012的时候,编写代码的助手Visual Assit X突然提示我说,试用期已过,要求我输入一个注册码,我靠,这货不是几个月前已经破解了吗,怎么今天傻不愣登的提 ...

  9. mysql 汉字乱码

    原因:mysql server character设置问题 一.检查mysql server 安装目录下my.ini文件 找到如下设置 [mysql] default-character-set = ...

  10. STL之迭代器

    容器支持的迭代器类型  STL Container  Type of Iterators Supported   vector  random access iterators 元素严格有序(类似数组 ...