看看框架,我遇到了Codeigniter。我想知道在将数据传递给视图之前为db的结果构建html输出的正确过程是什么。意思是我创建了一个模型来从db中获取行,在将结果传递给视图之前在控制器中加载模型我想要使用结果构建视图,而不是循环遍历结果并在视图中显示它。如果我这样做,我会在控制器中创建一个私有函数来做到这一点吗?或者我会在模型中执行此操作,还是应该在视图中执行此操作?
我觉得这比编写视图中的所有代码以显示结果更干净所以如果结果显示有变化或者在另一页显示,我可以重新使用显示功能而不是从视图中复制和粘贴代码。
答案 0 :(得分:3)
我建议将视图特定代码放入,视图。
你可能认为它会让它变得更干净,因为它会使你的视图看起来整洁,但老实说,一旦你的视图输出来自各个方向,它就会变得非常复杂,非常快。
根据我的经验,对于返回的数据库对象,我几乎没有一个单一的,一致的表示。
答案 1 :(得分:2)
视图是呈现给用户的信息。这就是你应该循环结果的地方。
请查看http://codeigniter.com/user_guide/overview/mvc.html,了解模型,控制器和视图的主要内容。
答案 2 :(得分:1)
我觉得这比编写视图中的所有代码以显示结果更干净所以如果结果显示有变化或者在另一页显示,我可以重新使用显示功能而不是从视图中复制和粘贴代码。
根本不需要这样做,只需将显示逻辑写入所提到的视图文件中,并为要以相同方式显示结果的每个实例加载相同的视图文件。
这正是视图层的用途:演示文稿。请记住,您不需要每个页面都需要单独的视图。同样,您可以为相同的数据创建多个视图,因此您可以在它们之间切换(甚至让用户在它们之间切换)。