Ade*_*ard 5 php model-view-controller performance
我相对精通设计网站.我主要去LAMP,我已经拥有了一个我自己的小框架.简而言之,它将逻辑与布局分开,我基本上有一个逻辑文件到一个或多个布局文件,具体取决于布局中支持的视图.有一个管理部分,有用户身份验证和所有这些东西.精细.
所以,当我想在PHP中设计/编程的方式更加精细 - 或者整个网站编程时 - 我想知道如何正确地"思考"MVC.我倾向于这种方式,因为我目前的框架是面向数据库的,并且在性能至关重要的情况下变得有点沉重.
所以这是我的问题:我是否正确假设控制器通常对应于"部分"或"页面",并且视图负责显示该控制器,并且模型处理控制器使用的对象并显示在看法?
让我们举一个例子(不太详细,但足以看我的想法是否有效):
假设我们有一个简单的游戏网站.这些部分通常是:首页,游戏,论坛和关于/免责声明等.
的控制器类对应于区段但变得有点更精细的覆盖由部即游戏部分覆盖的对象的"单实例"版本变成两个控制器; 一个用于游戏概述(游戏列表),一个用于游戏页面本身.整个将是首页,游戏概述,游戏页面,论坛,论坛,主题页,关于和免责声明.
该意见可以是一些布局每个控制器如一样的控制器,但也许各种类型的论坛网页的意见(取决于您希望查看它们)和游戏页面(可能是高分视图)等.
该模型(或数据对象)是典型的用户,游戏,论坛,主题帖,然后像很多话题标签,游戏榜辅助对象,什么不该做能有高分等等等等的议题可能进行分类和游戏.
是上述"正确"的思维方式还是我完全误解了网站的整个MVC概念.
我正在考虑转移到CodeIgniter或其他一些轻量级框架(随意评论框架选择或者是否更适合我自己)因为我自己的框架非常面向数据库并且现在没有削减它我的几个网站每天超过70,000次综合浏览量.
衷心感谢那些能够帮助我回答我对MVC的看法是否正确的问题,并且如果可能的话,在编写MVC时添加一些想法,并且仍然希望保持最前沿的性能(如使用脚本语言可以做到的很多事情).
首先,这不是一个特定于 php 的问题,而是一个关于如何将 MVC 模式应用到 Web 编程的问题。事实上,MVC 模式在 Web 应用程序开发领域非常有意义,几乎已经成为该应用程序领域的必然要求。
现在,对于 MVC 模式本身,您已经在 SO 上找到了非常好的答案。例如“什么进入控制器”的问题和解答。
至于如何将网站结构映射到控制器架构的问题,我建议如下。
因此,例如,如果您的情况 gameoverview 只是一个列表,那么它不需要自己的控制器,而只是索引控制器中的一个方法,该方法从模型获取列表并将其发送到相应的视图。但是,如果您的游戏概述是一个复杂的机制,具有多种可能性和不同的子视图等,您可以拥有一个概述控制器,其中包含用于不同视图和任务的多种方法。
我强烈建议您研究 Zend Framework 以及如何解决这些问题。在我看来,通过这样做,你可以学到很多关于你的问题的主题。