MVC模式 - 正确的思考方式

时间:2013-12-25 21:37:46

标签: php oop model-view-controller

阅读关于MVC的数十篇文章,现在,这对我来说是个烂摊子。我正在尝试用我的项目做正确的事情,我将程序性PHP重写为oop,但是,我很困惑。

我确信,Model应该包含所有业务逻辑,这是有意义的。 对View不太确定。我应该将数据传递给View,并相应地渲染模板,还是View应该只询问所需的数据(来自更新的模型)?

在SO上也阅读了很多关于它的内容,但它变得更糟。答案不同,我有点迷失。

MVC模式的正确解释是什么?(嗯,我知道它可能会有所不同,但重点应该保持不变)

MVC 1

enter image description here

MVC 2

enter image description here

2 个答案:

答案 0 :(得分:1)

从我在ASP.NET MVC中编写Web应用程序的经验我可以告诉你它是伟大的模式! 模型用于定义纯实体(通常将存储在数据库中的实体)。

控制器处理用户输入,例如当我第一次写入站点的URL时,请求来到控制器并且控制器创建模型对象并将其传递给视图,以便可以根据控制器传递的模型呈现视图它。

希望我帮助你!

答案 1 :(得分:0)

Imho,...在这个理论细节上给出一个 * *。只是按照你觉得最舒服的方式做到这一点,但肯定会尝试分离关注点:

  1. 保存并检索原始数据
  2. 用数据做专业的stuf
  3. 提供数据
  4. 假设您有一个用户表,我将创建一个包含创建,编辑,删除用户等所需的所有不同mysql语句的类。 然后,您需要模板,例如用户详细信息页面。它只包含html,css等和php变量,也许还有一些循环或ifs。

    其余代码使用这两个组件并将结果提供给客户端。