模型调用视图,或查看调用模型?

时间:2015-03-02 13:41:29

标签: php codeigniter model-view-controller

在我之前拥有all-ajax web ap的公司中,使用了一个从头开始的框架。页面部分刷新的方式是您使用字符串调用控制器,控制器将加载一个或多个视图文件。视图文件几乎总是调用模型中的一个或多个类。就像我到达那里一样。

我现在正在与一家新公司合作开发一个新系统并查看候选框架。 codeigniter上的30分钟教程显示控制器调用模型,模型加载视图。

这与我的经验相反,所以我想问一下哪种策略更常见。在我看来,这个视图是一个“shell”或结构似乎更合理,但仅限于需要模型来达到业务规则。

我不确定我是否应该在这里分享链接,我不是在尝试推广codeigniter,但教程位于https://www.youtube.com/watch?v=47VOtKiw9AQ大约10:00。感谢

1 个答案:

答案 0 :(得分:0)

教程。有很多。

控制器调用模型并将数据传递给视图。这是标准答案。但是我现在倾向于 - 控制器分配特定的视图,然后调用模板,传递$ data。

然后在模板中 - 调用模型来为该模板创建导航栏,并可选择创建页面显示模型。

否则 - 要么你有my_controller所有通过的内容都可以调用页面显示,导航等。

或者您必须在每个控制器中放置页面显示详细信息。我个人不是my_controller设计模式的忠实粉丝,并且调用复杂控制器中的导航栏并不是最佳选择。

所以在这种情况下,可能被视为一个视图 - 一个简单的模板文件 - 将调用一个模型。但在这种情况下,它不是真正的“视图”,因为它不直接显示任何内容 - 模板调用导航视图,页眉,页脚视图等等 - 然后实际的页面内容由控制器分配。

这也为您提供了更多便携性 - 当您需要更改有关页面显示或导航的详细信息时,您只需要前往一个地方。

最后有很多php框架和很多意见。在漫长的休眠期之后,codeigniter框架正在积极开发中。但是如果你从方形开始,那么看一下Node,它有一些引人注目的功能,具体取决于你的用例。