我正在使用 MVC 模式进行 Web 开发。我使用 codeIgniter 框架。我发现http://fuelphp.com/和 http://kohanaframework.org/ ,他们正在使用 HMVC。对于 HMVC 还是不清楚,为什么我们应该使用 HMVC 而不是 MVC?读完 HMVC 模式后我很困惑,它与 MVC 没有太大区别。您能解释一下为什么我们应该使用 HMVC 进行 Web 应用程序开发吗?
最佳答案
HMVC 可以做 MVC 可以做的任何事情,甚至更多
在 MVC 中您将遇到或曾经遇到过的问题之一是您无法从另一个 Controller 调用一个 Controller (除非您使用自定义库或帮助程序来执行此操作)
在 HMVC(分层 Model View Controller )中你可以做到这一点,我将在这里总结所有的品质:
- 在其他项目中重用您的代码
- 简化项目维护
- 扩展您的项目
- 组织代码
- 模块化结构
尝试过 HMVC 后你将永远不会再回到 MVC 这是一张图片更清楚
对于 CodeIgniter,请使用“模块化扩展 - HMVC”
模块化扩展使 CodeIgniter PHP 框架模块化。模块是一组独立的组件, 通常是模型、 Controller 和 View ,排列在应用程序模块子目录中,可以将其放入其他 CodeIgniter 应用程序中。
模块 Controller 可以用作普通 Controller 或 HMVC Controller ,并且它们可以用作小部件来帮助您构建 View 部分。
如果您想将 codeigniter 与 HMVC 模式一起使用,您可以在此处使用模块化扩展 - HMVC
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
这里有一些精彩有趣的视频教程,可以让您在 codeigniter 中使用 HMCV 上路
https://www.youtube.com/watch?v=8fy8E_C5_qQ&list=PLBEpR3pmwCawDZ6FgNYoyvicEz4HrJPec&index=1
希望有帮助!
关于model-view-controller - Web 应用程序开发的 MVC 与 HMVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5454337/