php – 只有一个控制器类的MVC模式?
发布时间:2020-12-13 17:17:14 所属栏目:PHP教程 来源:网络整理
导读:我正在学习MVC模式,特别是php,并阅读了一些很棒的教程.我设法起来了一个有效的基本限制.为了好玩,我开始尝试控制器,模型和视图如何交互,最终得到一个控制器类,根据请求的页面创建模型/视图.所以我只是在主index.php中实例化这个控制器并传递url值.例如,“mys
我正在学习MVC模式,特别是php,并阅读了一些很棒的教程.我设法起来了一个有效的基本限制.为了好玩,我开始尝试控制器,模型和视图如何交互,最终得到一个控制器类,根据请求的页面创建模型/视图.所以我只是在主index.php中实例化这个控制器并传递url值.例如,“mysite / blog / recent”将使控制器包含(并实例化)包含模型的“models / blog / recent.php”文件以及views文件夹中的相应视图.我的问题是,为网站的每个部分设置实际的控制器类是否有优势,而不是仅仅将模型分成不同的文件夹(即“博客”)并用一个控制器类加载它们?
解决方法
在某些方面,做出关于MVC的决定变得不那么简单和干燥.对于一个非常小(和简单)的站点,您可能只需要一个控制器来完成您的所有工作,从模型中提取数据并构建视图.您当然可以构建您的MVC架构,以便所有模型和视图都由单个控制器实例化,但当然,一旦您到达甚至远程复杂的站点,这很快就会崩溃.
我的建议是让您的控制器在概念上与您以模块化方式设计应用程序的方式分开.我会有一个BlogController,包含我所有的博客方法和页面服务,一个ContactController,一个PortfolioController,都是从一个主PageController继承的,以确保当我的网站的这些不同部分的复杂性扩展时,我可以保持它们而不必一个很棒的’SoupController. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |