php – MVC:模型视图控制器 – 视图是否调用模型?
我已经阅读了一段时间的MVC设计,看来正式的View调用Model中的对象和方法,构建并输出一个视图.
我认为这主要是错误的. Controller应该在模型中操作和检索/更新对象,选择适当的视图并将信息传递给它以便它可以显示.只有粗略和简单的PHP变量/简单的if语句才会出现在View中. 如果View获取了它需要从Model中显示的信息,那么View中肯定会有很多PHP – 完全违反了分离表示逻辑的要点.
与所有编程一样,我们需要务实.视图应该只包含表示逻辑.这种逻辑可以非常简单,也可以非常复杂.只要该逻辑仅处理屏幕上显示的内容,打印在报告上等.
你传递的这些信息是什么?可能是模型的一个子集.您可以创建一个仅包含视图应该知道的信息的新类,或者只是传递模型并确保只访问适当的数据.无论如何,视图应该可以自由地查询传入的模型以便能够显示视图. 争论的焦点是,如果您从视图中应该能够直接更新模型,绕过控制器.这是实用主义方面的用武之地.我认为有些情况可以保证直接更新模型.特别是如果你可以使用数据绑定.您可以将文本框分配给模型的属性,并自动进行更新.如果有很多简单的属性设置,这种方法可以在控制器中保存一堆代码. MVC不是一套完整的规则.正确使用可以产生更好的代码,但如果过于严格使用会导致疼痛和痛苦. 务实! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |