sat*_*god 26 model-view-controller design-patterns hmvc
我正在使用MVC模式进行Web开发.我使用codeIgniter框架.我找到了http://fuelphp.com/和http://kohanaframework.org/,他们正在使用HMVC.还不清楚HMVC以及为什么我们应该使用HMVC而不是MVC?阅读HMVC模式后我很困惑,它与MVC没有太大的不同.你能解释为什么我们应该使用HMVC进行Web应用程序开发吗?
Nas*_*sim 31
在MVC中您将要或曾经遇到过的一件事是,您无法从另一个控制器调用控制器(除非您使用自定义库或帮助程序来执行此操作)
在HMVC(分层模型视图控制器)中你可以做到这一点,我会在这里总结所有的品质:
在尝试HMVC后,你永远不会回到MVC,这是一张更清晰的图片
CodeIgniter使用"Modular Extensions - HMVC"
Modular Extensions使CodeIgniter PHP框架模块化.模块是独立组件的组,通常是模型,控制器和视图,安排在应用程序模块子目录中,可以将其放入其他CodeIgniter应用程序中.
模块控制器可以用作普通控制器或HMVC控制器,它们可以用作小部件来帮助您构建视图部分.
如果你想使用带有HMVC模式的codeigniter,你可以在这里使用Modular Extensions - HMVC
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
这里有一些很好的和有趣的视频教程,可以让你在codeigniter中使用HMCV
https://www.youtube.com/watch?v=8fy8E_C5_qQ&list=PLBEpR3pmwCawDZ6FgNYoyvicEz4HrJPec&index=1
希望有所帮助!
ale*_*lex 21
分层模型 - 视图 - 控制器(HMVC)模式是MVC模式的直接扩展,其设法解决了已经提到的许多可伸缩性问题.HMVC最初是在2000年7月在JavaWorld网站上发表题为HMVC:用于开发强客户层的分层模式的博客文章中描述的.本文的大部分内容都集中在使用HMVC和图形用户界面的好处.已经有一些建议是这里居然重新演绎1987年描述JavaWorld的文章提供了HMVC如何能在与图形用户界面的桌面应用程序设计帮助的详细说明所谓的表示-抽象-控制(PAC)的其他图案的作者.本文的重点是演示如何使用HMVC创建可伸缩的Web应用程序.
HMVC是作为一个应用程序运行的传统MVC三元组的集合.每个三元组都是完全独立的,可以在没有任何其他三元组的情况下执行.对三元组的所有请求必须使用控制器接口,从不加载自己域之外的模型或库.托管环境中的三元组物理位置并不重要,只要它可以从系统的所有其他部分访问即可.HMVC的独特功能鼓励重用现有代码,简化系统不同部分的测试,并确保轻松增强或扩展应用程序.
来自 Sam de Freyssinet的使用HMVC扩展Web应用程序