CI HMVC 尝试[1] 概念

首先要了解,什么是hmvc

HMVC模式即Hierarchical-Model-View-Controller模式,也可以叫做Layered MVC.HMVC模式把客户端应用程序分解为有层次的父子关系的MVC。反复应用这个模式,形成结构化的客户端架构。

如图:

简单来说就是 一个模块里可以再细分多个模块,可以一直接下去细分

CodeIgniter 结构示意

application
        |- controllers
                |- controllers1.php
                |- controllers2.php
                |- ...
        |- models
                |- models1.php
                |- models2.php
                |- ...
        |- views
                |- views1
                        |- index.php
                        |- footer.php
                        |- ...
                |- views2
                        |- index.php
                        |- footer.php
                        |- ...
                |- ...

可以看到 他的 controllers , model, view  层都放在一起,没有划分模块,这样子查找修改很不方便

 如果实现 HMVC 的话结构就是:

application
        |- modules
                |- module1
                        |- controllers
                                |- controllers.php
                        |- models
                                |- models.php
                        |- views
                                |- index.php
                                |- footer.php
                                |- ...
                |- module2
                        |- controllers
                                |- controllers.php
                        |- models
                                |- models.php
                        |- views
                                |- index.php
                                |- footer.php
                                |- ...
                |- ....
        |- controllers
                |- ...
        |- models
                |- ...
        |- views
                |- ...

在 模块文件夹 modules 中 又划分了 n 个小模块 ,每个模块层都有 controllers , model, view 结构

 参考:

http://zh.wikipedia.org/wiki/HMVC





原文地址:https://www.cnblogs.com/iiixxxiii/p/3041939.html