好的,我一直在使用代码点火器创建一个小型测试站点,到目前为止,我已经完成了登录和注销。这些都遵循正确的 MVC,我认为控制器中的逻辑、模型中的实际工作和视图中的表示。但是,我在做一些事情时遇到了一个问题,比如在前端站点中包含新闻提要,不需要登录。我正在考虑只是在主页视图中调用负责显示新闻提要内容的模型。这是不好的做法吗?基本上,在登录时显示动态内容(如新闻提要甚至用户照片)的最佳方式是什么?
问问题
204 次
2 回答
1
这是非常错误的。
在理想情况下,您的所有功能、数据调用、操作、数据插入等都将在模型中。
控制器用于决定需要来自模型的哪些调用并来回传递数据。正是在这一点上,控制器可以收集视图所需的信息并将它们向前传递。
您应该在视图中拥有的唯一逻辑是 if/else 和 for each 循环。我在所有数据进入视图之前“准备”了所有数据,因此日期格式、空值处理等也已完成,因此我的视图只不过是带有少量名称的纯 HTML;?> 类型变量。
于 2013-03-10T09:37:03.093 回答
0
在正确实施的受 MVC 启发的设计模式中,视图负责从模型层获取信息并创建响应(如果需要,由多个模板制作)。这意味着,视图从模型层请求数据是正确的做法。
你应该避免的是改变模型层状态的操作,因为那部分是控制器的责任。
应该注意的另一件事是,这仅适用于您具有真实视图实例的情况。CodeIgniter 所谓的“视图”只不过是一堆愚蠢的模板。模板不应从任何地方请求任何数据。
于 2013-03-10T09:59:10.003 回答