gpt4 book ai didi

php - 为什么要把MVC中的View拆分成一个view类和一个template

转载 作者:IT王子 更新时间:2023-10-29 00:05:34 28 4
gpt4 key购买 nike

我对设计模式比较陌生,但我觉得我已经很好地理解了 MVC 模式以及这种代码分离带来的优势。

然而,两次我都看到了 MVC 模式的实际应用(Magento 和 Joomla!),还有进一步的特化,view 由 View 类(Magento block )和PHP 模板文件。如果有人能解释这种拆分的好处,我将不胜感激。

我也不知道如何在 View 类和模板文件之间拆分我的代码。有时我发现自己编写了一个看似多余的 View 类(在 Joomla 中!),它只是访问模型,然后使数据可用于模板。模板中应该出现什么代码, View 类中应该出现什么代码?

最佳答案

在受 MVC 启发的设计模式中, View 负责所有 UI 逻辑。他们应该从模型层请求信息,并根据他们收到的信息,选择应该使用哪些模板来创建响应。或者即使需要任何渲染( View 也可以只发送 HTTP header )。

You could say that in classical MVC and Model2 MVC patterns, the view only reads from model layer, but controller only writes to it.

如果您从模型层接收到一些错误状态, View 将采用主布局模板并补充它的模板,该模板包含用于错误消息的 HTML 片段。然后它将整个内容组装起来并显示给用户(在 Web 应用程序的情况下是浏览器)。

在您的基本 Web 应用程序中,模板只是混合了标签和 PHP 变量的简单文件。

关于php - 为什么要把MVC中的View拆分成一个view类和一个template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13242279/

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