我已经阅读了一段时间的MVC设计,看来正式的View调用Model中的对象和方法,构建并输出一个视图.
我认为这主要是错误的.
Controller应该在模型中操作和检索/更新对象,选择适当的视图并将信息传递给它以便它可以显示.只有粗略和简单的PHP变量/简单的if语句才会出现在View中.
与所有编程一样,我们需要务实.视图应该只包含表示逻辑.这种逻辑可以非常简单,也可以非常复杂.只要该逻辑仅处理屏幕上显示的内容,打印在报告上等.
原文链接:https://www.f2er.com/php/133786.htmlThe Controller should act and retrieve/update objects inside the Model,select an appropriate View and pass the information to it so it may display.
你传递的这些信息是什么?可能是模型的一个子集.您可以创建一个仅包含视图应该知道的信息的新类,或者只是传递模型并确保只访问适当的数据.无论如何,视图应该可以自由地查询传入的模型以便能够显示视图.
争论的焦点是,如果您从视图中应该能够直接更新模型,绕过控制器.这是实用主义方面的用武之地.我认为有些情况可以保证直接更新模型.特别是如果你可以使用数据绑定.您可以将文本框分配给模型的属性,并自动进行更新.如果有很多简单的属性设置,这种方法可以在控制器中保存一堆代码. MVC不是一套完整的规则.正确使用可以产生更好的代码,但如果过于严格使用会导致疼痛和痛苦.
务实!