Php MVC模式——正确的思考方式

Php MVC模式——正确的思考方式,php,oop,model-view-controller,Php,Oop,Model View Controller,读了几十篇关于MVC的文章,现在对我来说真是一团糟。我正在尝试对我的项目做正确的事情,我正在将程序化php重写为oop,但是,我感到困惑 我确信,模型应该包括所有的业务逻辑,这在我看来是有意义的。 对风景不太确定。我应该将数据传递给视图,并相应地呈现模板,还是视图应该只请求它需要的数据(来自更新的模型) 我也读了很多关于它的书,但是它变得更糟了。答案各不相同,我有点不知所措 MVC模式的正确解释是什么?(我知道这里和那里可能不同,但重点应该是) MVC 1 MVC 2 根据我在ASP.NET

读了几十篇关于MVC的文章,现在对我来说真是一团糟。我正在尝试对我的项目做正确的事情,我正在将程序化php重写为oop,但是,我感到困惑

我确信,模型应该包括所有的业务逻辑,这在我看来是有意义的。 对风景不太确定。我应该将数据传递给视图,并相应地呈现模板,还是视图应该只请求它需要的数据(来自更新的模型)

我也读了很多关于它的书,但是它变得更糟了。答案各不相同,我有点不知所措

MVC模式的正确解释是什么?(我知道这里和那里可能不同,但重点应该是)

MVC 1

MVC 2


根据我在ASP.NET MVC中编写web应用程序的经验,我可以告诉你,这是一种很棒的模式! 该模型用于定义纯实体(通常是存储在数据库中的实体)

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

希望我能帮助你

Imho,。。。就这一理论细节给出一个**。只需按照你觉得最容易接受的方式来做,但一定要尝试将关注点分开,因为有:

  • 保存和检索原始数据
  • 对数据进行编程处理
  • 提供数据
  • 因此,假设您有一个用户表,我将创建一个类,其中包含创建、编辑、删除用户等所需的所有不同mysql语句。 然后您需要模板,例如用户详细信息页面。它只包含html、css等和php变量,可能还包含一些循环或ifs


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

    为避免疑问,您是在考虑ASP.NET MVC还是更通用的模型视图控制器概念?您使用的是什么语言/平台?MVC并不是万能的,也不是让你的代码变得更X的灵丹妙药。我尝试在一般级别上使用它,但我正在用PHPIn重写web应用程序。如果是这样的话,就不可能完全实现正确的MVC模式。选项2看起来很正常。选项1是那些蹩脚的PHP框架是如何做到的,这样他们就可以通过说:omgwtfbbqawesomewedomvc来推销一些东西,而他们实际上所做的只是以一种与MVC无关的方式使用模型、控制器和视图等术语。这并不能回答OP,但这是正确的答案+1.比试图把一些范例/模式塞进它不适合的东西,简单地应用常识要好得多。