微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/php/131238.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐