我正在学习MVC模式,特别是PHP,并阅读了一些很棒的教程.我设法起来了一个有效的基本限制.为了好玩,我开始尝试控制器,模型和视图如何交互,最终得到一个控制器类,根据请求的页面创建模型/视图.所以我只是在主index.PHP中实例化这个控制器并传递url值.例如,“mysite / blog / recent”将使控制器包含(并实例化)包含模型的“models / blog / recent.PHP”文件以及views文件夹中的相应视图.我的问题是,为网站的每个部分设置实际的控制器类是否有优势,而不是仅仅将模型分成不同的文件夹(即“博客”)并用一个控制器类加载它们?
解决方法
在某些方面,做出关于MVC的决定变得不那么简单和干燥.对于一个非常小(和简单)的站点,您可能只需要一个控制器来完成您的所有工作,从模型中提取数据并构建视图.您当然可以构建您的MVC架构,以便所有模型和视图都由单个控制器实例化,但当然,一旦您到达甚至远程复杂的站点,这很快就会崩溃.
我的建议是让您的控制器在概念上与您以模块化方式设计应用程序的方式分开.我会有一个BlogController,包含我所有的博客方法和页面服务,一个ContactController,一个PortfolioController,都是从一个主PageController继承的,以确保当我的网站的这些不同部分的复杂性扩展时,我可以保持它们而不必一个很棒的’SoupController.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。