gpt4 book ai didi

php - MVC 傻瓜 : why does controller have to send anything to views?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:01 27 4
gpt4 key购买 nike

如果我没看错,那么 Controller 的功能就是处理 POST 数据,并在技术上通过模型对应用程序(例如数据库)的状态进行更改。

据我了解,View 也从 Model 获取数据。

这就是我对工作流程的理解:

客户端请求 --> App Front Controller --> (if method = POST --> Controller) --> View - -> 返回客户端

这里ModelController用来读写数据,被View用来读取数据。

所以 Controller 不会在每次加载页面时使用,实际上,只有在添加/更新应用程序数据时才使用。大多数时候 Controller 被绕过。

因此,为什么几乎所有关于 MVC 的资源都在谈论 Controller 向 View 发送数据?

我正在尝试使用类似 MVC 的模式编写应用程序。所以在我的应用程序 View 中,总是从模型中获取页面的数据。当模型更新时,我将特定的模型更新时间添加到 Memcache 中。在运行时,每个 View 都会查找相关模型的最后更新时间和该 View 的最后一次缓存生成时间。如果在保存缓存之前更新了模型,则 View 读取缓存,否则根据更新的模型重新渲染。

最佳答案

Controller 负责根据请求的数据呈现 View 。它就在那里,所以模型和 View 都不需要知道请求。是的, View 从模型中获取数据,但并不总是直接的; Controller 可能还必须根据请求做出一些决定。

这有点像餐厅里有服务员,他们可以接受顾客的订单并为顾客提供菜肴。不是厨师在准备好饭菜后端出饭菜;是服务员。不是顾客去厨房请饭,而是去厨房请饭。是服务员接受他们的订单,然后让厨师知道为谁准备什么。同样, Controller 用于处理客户端请求,无论其性质如何。虽然这是一个非常粗略的比较,但我希望你能理解。

关于php - MVC 傻瓜 : why does controller have to send anything to views?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4504927/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com