(急)散分一百,求解MVC概念

skyaspnet 2010-08-12 11:05:35

请教各位大侠能给个简单的示例,帮助能比较好地理解PHP的MVC模式,谢谢!
...全文
118 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
number123456 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xuzuning 的回复:]

引用 10 楼 number123456 的回复:
前段时间面试,到哪都会遇到这个考题,所以上网查了一下,基本上的回答都是一样“模型,视图,控制器”,我的理解是这样

PHP code
data.php
class data{
var $data;
function __construct(){
$this->data = array("a"=>"A","b"=>"B","c"=……
[/Quote]
能帮我解释一下吗?我们这些新手对这个概念真的太模糊了
xuzuning 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 number123456 的回复:]
前段时间面试,到哪都会遇到这个考题,所以上网查了一下,基本上的回答都是一样“模型,视图,控制器”,我的理解是这样

PHP code
data.php
class data{
var $data;
function __construct(){
$this->data = array("a"=>"A","b"=>"B","c"=>"C");
……
[/Quote]
1、缺少 C
2、M、V 耦合太紧
number123456 2010-08-12
  • 打赏
  • 举报
回复
前段时间面试,到哪都会遇到这个考题,所以上网查了一下,基本上的回答都是一样“模型,视图,控制器”,我的理解是这样
data.php
class data{
var $data;
function __construct(){
$this->data = array("a"=>"A","b"=>"B","c"=>"C");
}
}

view.php
include( "data.php" );
$dat = new data();
$data_view = $dat->data;
include("index.html");//这部分可以用smarty

index.html
输出data列表
<?php
foreach( $data_view as $key => $var ){
echo $key ." = " . $var ."<br>";
}
?>


在此正好也求教我的理解对不对
CunningBoy 2010-08-12
  • 打赏
  • 举报
回复
看看这个,对你有没有用
http://www.phpmvc.net/
xuzuning 2010-08-12
  • 打赏
  • 举报
回复
建议你看一下这篇文章
http://www.cnblogs.com/benben7466/archive/2009/06/30/1513622.html
tiger3002 2010-08-12
  • 打赏
  • 举报
回复
学习学习学习。
chinajoy2012 2010-08-12
  • 打赏
  • 举报
回复
呵呵,网上文档很多的
ihefe 2010-08-12
  • 打赏
  • 举报
回复
模型(Model)代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。
视图(View)是展示给用户的信息。一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。
控制器(Controller)是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。


这个中文文档还是挺好 适合入门,快速开发 http://codeigniter.org.cn/user_guide/toc.html
ttchenwei 2010-08-12
  • 打赏
  • 举报
回复
看看thinkphp
ttchenwei 2010-08-12
  • 打赏
  • 举报
回复
MVC
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。

视图 :视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

模型 :模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

控制器 :控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。

现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。
skyaspnet 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuzuning 的回复:]
MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来……
[/Quote]

能帮忙给个示例帮助理解吗?谢谢!
xuzuning 2010-08-12
  • 打赏
  • 举报
回复
MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。
http://baike.baidu.com/view/739359.htm
skyaspnet 2010-08-12
  • 打赏
  • 举报
回复
谢谢大家!
Dleno 2010-08-12
  • 打赏
  • 举报
回复
最好还是先详细去了解下mvc的原理。
再去看一些结构相对简单的mvc框架。
理论到实践更好。
你这样问,是问不出个什么东东的。

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧