请教php 的 mvc的一些疑惑 20

1:请问PHP中的三层结构是不是与delphi之类的表示/业务/数据相同呢?2:那么是不是从a.phpaction到b.php(处理)然后从b.php再调用(requir... 1:请问PHP中的三层结构是不是与delphi之类的 表示/业务/数据 相同呢?
2:那么是不是从a.php action到b.php(处理) 然后从b.php再调用(require)数据库操作类就算是mvc了?能否简单的纠正一下我上面的逻辑。?实现真正的mvc?
3: 小弟最不明白的是听说mvc好像是说不在表示层比如说上列中的a.php中使用php语言。那a.php怎么输出数据?
4:小弟刚接触php不久一直都是html/php混在一起写的。基本就是问题2中那种模式,是不是该深入学习一下mvc模式,或者说现在又出什么更标准更权威的模式了?

问题比较多,麻烦诸位费心了~谢谢!
展开
 我来答
zhangwei8k
2007-11-25 · TA获得超过193个赞
知道答主
回答量:206
采纳率:0%
帮助的人:165万
展开全部
MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。

业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据 保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

MVC的概念现在运用的很广泛,例如诸多blog就是运用MVC的思想,你可以去看几个blog的源代码就会明白.
我简单的理解为"模板"(Html+js)+"类库函数库"(php黑盒做法,称php框架)+"实现方法"
1860_yk
2007-11-29 · TA获得超过201个赞
知道小有建树答主
回答量:444
采纳率:0%
帮助的人:247万
展开全部
MVC 简单的说 就是模版+逻辑控制+数据库操作
强烈建议楼住去用用 Smarty 模版引擎
楼住自然就明白MVC 是一个怎么回事了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式