2010-07-22 62 views
0

使用其中包含say 2功能的一个视图文件是否正确?在php中使用MVC时的建议

例如我在我的数据库中有项目表,我有2个函数在这个特定的MySQL查询视图文件内。

每个查询返回一个特定视图这么说

功能1 = NUM​​_ROWS 功能2 =行

这是否是正确的,或者我应该做不同的事情里面的数据?

+0

您使用的是什么mvc框架?只是好奇 – 2010-07-22 11:31:44

+0

即时通讯不基于我的代码mvc – 2010-07-22 12:52:46

回答

2

你的视图文件不应该有它们的功能。

MVC的想法是分离模型,例如,所有与演示文稿层(由V和C表示)无关的内容。 M应忽视V和C.

控制器处理对表示层/用户界面的任何输入。它委托给模型并设置模型返回到视图的任何内容。

该视图负责渲染模型数据和用户界面。如果你需要在视图中有功能,那么最好保存在View Helpers中。

请参阅Web Presentation Patterns in PoEAA了解有关如何最佳呈现视图的一些想法。 Parts of the book are available on Google Books

+0

你能解释我多一点,我的观点文件有一个查询循环,这就是它, – 2010-07-22 10:57:22

1

这种类型的功能不属于视图。属于视图的唯一代码是构造数据所需的代码。

这种功能属于模型,因为它对数据起作用。

也许你应该看看Model–view–controller Article on Wikipediahttp://en.wikipedia.org/wiki/Model -view-controller)以更好地理解MVC。

Sory,出于某种原因,我无法建立真正的链接到wiki页面。

+0

所以,如果我有我的查询在模型中如何打印出结果如果我不能把视图中的循环? – 2010-07-22 10:59:50

+0

为什么你不能在视图中循环?这属于类别“属于视图的唯一代码是构建数据所需的代码”。 – jigfox 2010-07-22 11:03:20

+0

您可以在视图中使用基本的控制结构:if..then..else,for循环等。只要查询没有在那里执行,并且您只是将结果传递给视图。 – robdog 2010-07-22 11:06:38