适用于简单应用的MVC

时间:2018-06-11 07:06:50

标签: php html model-view-controller

我一直在研究一个简单的支付计算器,我通过html前端和php后端正确地工作。 html通过AJAX调用将用户输入作为变量传递给PHP,PHP将结果返回到html页面。现在我已经按预期运行了,我正在试图弄清楚我如何将其转换为MVC模式。在我的理解中,html是视图组件,PHP包含所有计算逻辑,是模型,但我真的不确定控制器会发生什么?如果控制器的工作是在视图和模型之间进行协调,那么我应该将输入数据传递给“控制器”,然后将其传递给php,然后通过相同的路径传回结果吗?我原则上理解这种模式,但在这种情况下这似乎是无关紧要的。我一直在研究几个MVC框架(.NET,Laravel),但是真的希望在没有脚手架的情况下获得更基本的理解。任何建议赞赏!

1 个答案:

答案 0 :(得分:2)

MVC架构模式确实不适用于简单的应用程序"。它往往不值得添加所有复杂性的努力。这是因为从本质上讲," MVC"只是一组对各种图层的约束,当大型代码库难以包含时,您会添加这些约束。

它不是一种神奇的尘埃,你可以把它洒在你的项目上。

A为了您的理解" ..好吧......这些观点真的不会以" html"结束。它上面有一个更长的帖子this post,但TL; DR版本是:模板是真正处理html和视图管理/组装/填充模板的内容。

关于你的主要问题:控制者的责任是改变here的状态。就是这样。

它与脚手架(一种快速开发工具)无关,它不协调任何东西。正如我上面所说:MVC是关于约束的。在UI层中,控制器使用用户的输入来改变模型的状态,并且视图表示当前模型的状态。

P.S。"路由"实际上与MVC无关,因为它本质上是HTTP抽象中的一个细节。您只能使用它来决定UI层的哪一部分来点击"。