我正在尝试学习并充分了解mvc模式,同时学习PHP.我决定建立基本的mvc框架,以后我可以在各种项目中使用.阅读了很多关于mvc和模型/视图/控制器之间的联系的帖子我有点迷失了.目前我的理解是,在Web应用程序控制器处理来自浏览器的请求,如果需要,调用方法模型类告诉模型来改变其状态.然后控制器实例化将负责显示界面的适当视图类.
这是我不明白的一点
这是我不明白的一点
>现在应该通过适当的模型对象来查看和查看应该在需要的时候从模型中抽出所有的数据?
>或者控制器应该从模型中抓取数据并将其传递到查看,可能将其全部包装到单个包装器对象中,视图将从那里访问和抓取数据?
>或者视图应该在需要时简单地实例化适当的模型,并直接从模型对象中提取数据?
从我在这里读到的
http://www.phpwact.org/pattern/model_view_controller
我会倾向于第三选项,其中控制器没有通过任何东西来查看和查看需要的实例化模型.这是因为:
视图和控制器应具有与模型相同的访问权限
>控制器不应该简单地作为视图和模型之间的调解器.
真的有一个正确的方法来做,还是取决于项目?还有什么方法可以推荐给具有良好的OOP体验的人,但是对于PHP而言并不是很清楚,而且在mvc架构上并不太清楚.或者也许我应该跟随我的任何正确的东西,并从我的错误中学习(想避免这一个;)?
现在,请让我知道,如果我的问题不清楚将尝试更好的解释,然后..另外我读了很多的帖子在stackoverflow和不同的网站上的许多文章,但仍然会感谢帮助,所以谢谢提前所有的答案.