MVC遵循的原则

对于MVC中三者的划分并没有十分明晰的定义和界线,只是一种指导思想,让你按照model,view,controller三个方面来描述你的应用,并通过这三者的的交互,使应用功能得以正常运转

3.1 View的职责

其中,View部分比较明确,就是负责显示。一切与显示界面无关的东西,都不应该出现在view里面。因此,view中一般不会出现复杂的判断语句,不会出现复杂的运算过程。对于PHP的Web应用而言,毫无疑问,html是view中的主要内容。如下是关于view的几个原则:

  1. 负责显示界面,以HTML为主
  2. 一般没有复杂的判断语句或运算过程,可以有简单的循环语句、格式化语句。比如,博客首页的文字列表就是一种循环;
  3. 从不调用Model的写方法。也就是说,View只从Model中获取数据,而从不改写Model,所以我们说他们是老死不相往来的。
  4. 一般没有任何准备数据处理的内容,如查询数据库等。这些一般是放在Controller里面,并以变量的形式传给视图。也就是说,视图里面要用到的数据,就是一个变量

3.2 Model的职责

对于Model而言,最主要就是保存事物的信息,保证事物的行为和对他可以进行操作。比如,Post类必然有一个用于保存博客文章标题的title属性,必然有一个删除的操作,这都是Model的内容。以下是关于Model的几个原则:

  1. 数据、行为、方法是Model的主要内容;
  2. 实际工作中,Model是MVC中代码量最大,逻辑最复杂的地方,因为关于应用的业务逻辑也要在这里表示;
  3. 注意与Controller区分开。Model是处理业务方面的逻辑,Controller只是简单的协调Model和View之间的关系。只要是与业务有关的,就该放在Model里面。好的设计,应该是胖Model,瘦Controller;

3.3 Controller的职责

对于Controller,主要是响应用户请求,决定使用什么视图,需要准备什么数据用来显示。以下是有关Controller的设计原则:

  1. 用于处理用户请求,因此,对于request的访问代码应该放在Controller里面,比如$_GET$_POST等。但仅限于获取用户请求数据,不应该对数据有任何操作或预处理,这应该放在model里面。
  2. 调用model类的方法,对model进行写操作。
  3. 调用视图渲染函数,形成对用户request的response。
  4. 一般不要有html代码等其他表现层的东西,这应该是属于view的内容。
MVC遵循的原则_第1张图片

转自:http://www.awaimai.com/873.html

你可能感兴趣的:(PHP,mvc,php)