PHP之HMVC

HMVCHierarchical-Model-View-Controller),也可以叫做 Layered MVC。顾名思义,就是按等级划分的 MVC 模式,简单的解释就是把MVC又细分成了多个子 MVC,每个模块就分成一个 MVC。

使用 HMVC 的好处就是可以降低各个功能模块之间的耦合性,提高代码复用性,使得每个功能都可以独立出来,每个模块都有自己的 MVC 结构,这就有点像 ActiveX 控件,每个控件都有自己的行为,控件之间互不影响。

MVC结构图:

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

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
                |- ...
时间: 2024-10-31 21:38:14

PHP之HMVC的相关文章

smarty 3 + codeigniter 2 + hmvc

参考资料 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/src/fecd39ccdf56?at=default http://ilikekillnerds.com/2010/11/using-smarty-3-in-codeigniter-2-a-really-tiny-ci-library/ https://github.com/Vheissu/Ci-Smarty smarty 3 + codeign

CodeIgniter HMVC 扩展

扩展 在 github 上的地址:https://github.com/CodeIgniter/HMVC 关于 HMVC 的理解:总结为粗浅的话,把 MVC 扩展为多个等级,每个等级有独立的 MVC.而从属于 module 下的 MVC,可被做为另外的 MVC 调用: <?php $this->load->module('test2/home_made'); ?> 上述可做为页面片段,被处处调用,相当于 PHP 里的 require . 权限 如果出现 module 找不到的情况,

关于攻击PHP框架的几种思路

写在前面 认识一些主流的开发框架与现在程序设计理念,包含了一些WEB设计上的趋势与概念.另外以我自己的角度去说明一下怎么去看一个PHP程序,方法适合于以上开源框架和一些公司内部开发的框架(只要能看到源码). 框架的选择 ThinkPHP V3.2 CodeIgniter V2.2.2 Laravel V5.1 选择以上三个框架也是以为这三个框架算是比较有代表性的!ThinkPHP(TP)在国内很受欢迎,特别是小公司.CodeIgniter(CI)是传统且很流行的框架,并且也是很成熟的框架,据我说

codeingiter修改版本支持多module

最近刚入职一家公司发现该公司采用的框架是古老的CI1.7.2加matchbox扩展而来的遂研究一翻 发现直接在其中进行升级有些麻烦索性修改新发布的CI3.0 为多module支持 现贡献给大家使用 此版本是在CI3.0版本的基础上修改开发出来的 此版本的框架对CI3.0进行了HMVC扩展 此扩展主要通过 EX_Loader.php文件进行扩展 简要说明如下: 1.application下为应用目录 2.common为公共文件夹 其中可以存放公共配置文件,核心文件,帮助文件,hooks, lang

如何正确地写好一个界面

写界面可以说是每位移动应用开发者的基本功,也是一位合格移动应用开发者绕不过去的坎.但就如不是每一位开发者都能够成为合格的开发者一样,本人在 不同的团队中发现,甚少有人能够编写出合格的UI代码:而非常奇怪的是,在很多的开发者论坛上看到我们移动开发者更多关注于某个控件或者是动画,但却很少 看到深入剖析UI机制,指导UI开发的文章. 由于界面涉及到的方面实在过于广泛,本文不可能事无巨细,一一道来,所以本文先立足于点,深入剖析iOS UI系统中不被重视却非常重要的机制,帮助本文读者对iOS的UI系统有整

20个2014年最优秀的PHP框架

原文:20个2014年最优秀的PHP框架 对于Web开发者来说,PHP是一款非常强大而又受欢迎的编程语言.世界上很多顶级的网站都是基于PHP开发的.本文我们来回顾一下20个2014年最优秀的PHP框架. 每一个开发者都知道,拥有一个强大的框架可以让开发工作变得更加快捷.安全和有效.在开发项目之前选择一款合适的框架可以为今后奠定厚实的基础,下面这20个PHP框架你可以有选择的使用,一定会帮助到你的. 1.Laravel Laravel是一款免费并且开源的PHP应用框架,它是为开发基于MVC的WEB

辛星浅谈大型网站架构思路之二分解

第一节中我们讨论了简化,如果简化完毕,或者无法简化,那么就要考虑分解它了,那么如何去分呢?通常来说,可以从横向和纵向去分,也可以从软件和硬件去分,这个和我们构架的设计方面有关. 横向分解之我见: ①所谓横向分解,就是分离出的各个部分不存在明显的层次关系,彼此之间独立性较强,当然完全的独立是不现实的. ②第一点思路就是根据功能去分,比如网站分为bbs来交流问题,blog来展示博文信息,news来展示新闻等等,那么可以考虑根据二级域名来做相应的部署,比如bbs放到一台服务器上,blog放到一台服务器

谢烟客-----LNP之PHP C 扩展 (Phalcon)

Nginx的特性: 高性能的静态web服务器 作为smtp,httpd,tomcat,pop3等反向代理服务器 10000个并发,仅消耗1M内存 基于libevent库,支持event的epoll的边缘触发机制. 异步IO,内存映射 负载均衡.缓存 支持ssl,https,fastcgi协议 支持不停机升级,日志滚动,配置更新 安装方式: 编译安装 rpm安装(epel) 编译安装nginx的步骤: 开发环境: CentOS 6:  yum groupinstall "Development T

移动App架构设计

移动App架构设计 本文主要总结了几种经常使用的架构模式, 基本是层层递进的转载请注名出处 http://blog.csdn.net/uxyheaven, 良好的排版在https://github.com/uxyheaven/阅读 假设认为本文不错, 请在csdn给个顶, github给个star. Native app的开发相比传统的项目迭代周期要短非常多, 需求的变化也频繁一些, 在开发的不同生命周期里採用不同的架构模式能够有效的节约开发时间, 提高开发效率, 这篇文章介绍几种经常使用的架构