php – 只有一个控制器类的MVC模式?

我正在学习MVC模式,特别是PHP,并阅读了一些很棒的教程.我设法起来了一个有效的基本限制.为了好玩,我开始尝试控制器,模型和视图如何交互,最终得到一个控制器类,根据请求的页面创建模型/视图.所以我只是在主index.PHP中实例化这个控制器并传递url值.例如,“mysite / blog / recent”将使控制器包含(并实例化)包含模型的“models / blog / recent.PHP文件以及views文件夹中的相应视图.我的问题是,为网站的每个部分设置实际的控制器类是否有优势,而不是仅仅将模型分成不同的文件夹(即“博客”)并用一个控制器类加载它们?

解决方法:

在某些方面,做出关于MVC的决定变得不那么简单和干燥.对于一个非常小(和简单)的站点,您可能只需要一个控制器来完成您的所有工作,从模型中提取数据并构建视图.您当然可以构建您的MVC架构,以便所有模型和视图都由单个控制器实例化,但当然,一旦您到达甚至远程复杂的站点,这很快就会崩溃.

我的建议是让您的控制器在概念上与您以模块化方式设计应用程序的方式分开.我会有一个BlogController,包含我所有的博客方法页面服务,一个ContactController,一个PortfolioController,都是从一个主PageController继承的,以确保当我的网站的这些不同部分的复杂性扩展时,我可以保持它们而不必一个很棒的’SoupController.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...