不同的MVC框架的通信方式不一样吗?

原创
2016-06-06 20:27:01 808浏览

这是我在阮一峰大大的博客上看到的一张图

原文地址:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm

因为公司平时用的是YII框架,所以和我理解的MVC突然就有了区别,下图是我理解的MVC

图来源于书: web-application-development-with-yii-and-php

请问MVC模式的重点只是MVC三层吗?其中不同通信方式就和自身框架有关了?

回复内容:

这是我在阮一峰大大的博客上看到的一张图

原文地址:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm

因为公司平时用的是YII框架,所以和我理解的MVC突然就有了区别,下图是我理解的MVC

图来源于书: web-application-development-with-yii-and-php

请问MVC模式的重点只是MVC三层吗?其中不同通信方式就和自身框架有关了?

前端控制器(路由)并不是MVC必需的设计模式.
MVC的核心思想是分离界面(View),逻辑(Controller),数据(Model).
比如浏览器访问页面控制器,控制器处理输入,调用模型获取数据,载入视图输出数据.

/post.php?id=1024 //页面控制器(输入ID,输出文章)

/include/functions.php里的render()函数:

function render($template, array $data = array()) {
    global $app;
    ob_start();
    require APP_ROOT.'themes/'.$app['theme'].'//m.sbmmt.com/m/'.$template;
    $view = ob_get_contents();
    ob_end_clean();
    return $view;
}

mvc只是一种思想 不同的语言和框架都有各自的实现和改进 就像阮老师写的 他们只是在m v c三个层的侧重点不同

阮一峰的也不对,或者他有他的理解。 mvc并不是单向的。 m v c 之间的线估计会很多。 and mvc 就是mvc 。其他的db request router就不要扯进来了。
建议一开始不要扯什么mvc概念,找个框架用着用着,你自然就明白了。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。