php – 一般在mvc …应该控制器传递数据来查看或查看应该直接从模型?

前端之家收集整理的这篇文章主要介绍了php – 一般在mvc …应该控制器传递数据来查看或查看应该直接从模型?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试学习并充分了解mvc模式,同时学习PHP.我决定建立基本的mvc框架,以后我可以在各种项目中使用.阅读了很多关于mvc和模型/视图/控制器之间的联系的帖子我有点迷失了.目前我的理解是,在Web应用程序控制器处理来自浏览器的请求,如果需要,调用方法模型类告诉模型来改变其状态.然后控制器实例化将负责显示界面的适当视图类.
这是我不明白的一点

>现在应该通过适当的模型对象来查看和查看应该在需要的时候从模型中抽出所有的数据?
>或者控制器应该从模型中抓取数据并将其传递到查看,可能将其全部包装到单个包装器对象中,视图将从那里访问和抓取数据?
>或者视图应该在需要时简单地实例化适当的模型,并直接从模型对象中提取数据?

从我在这里读到的

http://www.phpwact.org/pattern/model_view_controller

我会倾向于第三选项,其中控制器没有通过任何东西来查看和查看需要的实例化模型.这是因为:

视图和控制器应具有与模型相同的访问权限
>控制器不应该简单地作为视图和模型之间的调解器.

真的有一个正确的方法来做,还是取决于项目?还有什么方法可以推荐给具有良好的OOP体验的人,但是对于PHP而言并不是很清楚,而且在mvc架构上并不太清楚.或者也许我应该跟随我的任何正确的东西,并从我的错误中学习(想避免这一个;)?

现在,请让我知道,如果我的问题不清楚将尝试更好的解释,然后..另外我读了很多的帖子在stackoverflow和不同的网站上的许多文章,但仍然会感谢帮助,所以谢谢提前所有的答案.

就个人而言,我一直是#3的支持者.视图不应该在乎控制器.该观点不应该对控制人有任何依赖.它应该做它应该做的,显示模型的视图.

控制的基本流程应该是:控制器从浏览器接收请求.它对模型进行任何更新,这是相关的,然后选择一个视图.然后将控件传递到视图,该视图从模型获取数据并呈现.

作为扩展,用户输入可以考虑模型的一部分,并且控制器和视图都可以从中读取.要取消的关键是Controller和View应该不相互依赖.这就是为什么这个模式叫做MVC的原因.

现在,个人来说,我发现MVC有点太乏味了,所以我通常把控制器和视图混合在一起.但那不是真正的MVC.

猜你在找的PHP相关文章