HMVC模式即Hierarchical-Model-View-Controller模式,也可以叫做Layered MVC.HMVC模式把客户端应用程序分解为有层次的父子关系的MVC。反复应用这个模式,形成结构化的客户端架构。如图: 一个MVC模块由应用程序的一个模块抽象而成。其中很重要的一个概念就是Parent MVC,它可以对应界面上的实体,也可以是一个抽象的对象。设想有一个Windows Form应用程序,有一个框架(frame),此框架由菜单功能模块、导航栏、状态栏、主工作区等部分组成,对应于HMVC,frame MVC 即Layer1 的parent MVC ;菜单MVC、导航栏MVC、状态栏MVC、主工作区 MVC处于第二层(图中只画了一个)。如果你觉得导航栏或主工作区的功能太复杂,也可以再细分成HMVC中的第三层,依次类推,可以扩展到n层,如果你愿意的话。 HMVC 工作原理: Controller是功能模块的总控室,它负责和子Controller或父Controller通信,并通知它的View处理改变界面显示、Model处理一些业务逻辑或数据库访问操作。举个例子,假如要实现点击菜单项,刷新主工作区这样的功能。首先点击操作在菜单MVC的View里完成,菜单Controller捕获这个事件,发现是需要刷新主工作区,它处理不了,于是传给它的父Controller—Frame Controller处理,Frame Controller捕获这个事件,直接把它交给主工作区 Controller处理,主工作区 Controller捕获这个事件,让主工作区 View处理刷新操作。是不是觉得很麻烦?对于小型应用程序,应用HMVC模式的优点显现不出来,但是一旦你的应用程序很复杂,HMVC模式的优点就清晰可见。 层次的HMVC解决了客户层程序的复杂性,HMVC揭示了面向对象的优势。 它的优点主要有: 把程序分成了几个部分,降低了依赖性。 支持鼓励重用代码,组件或者模块。 在今后的维护中,提高了可扩展性。 Kohana V3.0支持HMVC 介绍内容来自百度百科。 附加一篇英文文章: http://techportal.ibuildings.com/2010/02/22/scaling-web-applications-with-hmvc/
发表评论
-
yii2 引进css
2015-12-09 16:22 0$this->registerCssFile(STATI ... -
GridView
2015-10-29 10:18 0<?= GridView::widget ... -
使用pack 填充空白符 unpack解
2015-08-10 15:43 565<?php $book = array(array ... -
php lookandsay
2015-08-07 18:01 474<?php function lookands ... -
php strpos 为什么没找到要用 ===false 做判断
2015-08-07 14:36 754如果这个字符串中没有找到相应的子字符串 就返回false ... -
php 获取当前浏览器信息
2015-08-07 11:05 04.10 以前 是$HTTP_SERVER_VARS ... -
php 遍历一个文件夹下面的子文件
2015-08-05 15:57 556function my_scandir($dir) ... -
PHP 通过代理发送电子邮件 mail()
2015-06-15 16:19 0/** * 邮件发送类 * 支持发送纯文本 ... -
unsoap
2015-06-03 16:30 01. 首先,去 http://sourceforge.net/ ... -
file_get_contents 和 curl 性能比较
2015-06-03 11:57 0$timeStart = microtime_float(); ... -
PHP获取 当前页面名称、主机名、URL完整地址、URL参数、获取IP
2015-05-29 14:07 0PHP获取 当前页面名称、 ... -
php MySQL Create Database 创建数据库
2014-10-15 16:04 828MySQL Create Database 创 ... -
php 连接数据库
2014-10-15 16:05 363MySQL 连接与管理 让 PHP 支持 MySQL ... -
PHP 对象的存储与传输(序列化 serialize 对象)
2014-10-15 16:06 2339PHP 对象的存储与传输(序列化 serialize ... -
PHP 对象克隆 clone 关键字与 __clone() 方法
2014-10-15 16:07 1167PHP 对象克隆 clone 关键字与 __clone ... -
PHP 抽象方法与抽象类 abstract 关键字
2014-10-15 16:07 528PHP 抽象方法与抽象类 abstract 关键字 ... -
PHP 重载方法 __call()
2014-10-21 16:20 387PHP 重载方法 __call() __call() ... -
PHP 重载
2014-10-23 11:07 338PHP 重载 一个类中的方法与另一个方法同名,但 ... -
PHP 特殊方法 __set()、__get()、__isset() 与 __unset()
2014-10-13 15:37 0PHP 特殊方法 __set() ... -
PHP 常量(const)
2014-10-13 15:32 0PHP 常量(const) 常量 const 在类 ...
相关推荐
HMVC(Hierarchical Model-View-Controller)是一种设计模式,它扩展了MVC(Model-View-Controller)模式,允许在更大的项目中更好地组织代码结构。在Laravel框架中实现HMVC,可以增强其可维护性和可扩展性。 标题...
**CI HMVC (Hierarchical Model-View-Controller)** CodeIgniter HMVC 是一个扩展了标准MVC(Model-View-Controller)架构的模块化插件,它允许开发者在CodeIgniter框架中实现更复杂的项目结构。HMVC代表分层MVC,...
HMVC设计模式是一种基于MVC设计模式的改进版本,旨在解决MVC模式在大型Web项目和分布式项目中的缺陷。HMVC设计模式通过实现控制器之间的通信,可以有效地对系统解耦。 HMVC设计模式的优点: 1. 解耦系统:HMVC设计...
【标题】"HMVC_VouDeTaxi-源码.rar" 指的是一份基于HMVC(Hierarchical Model-View-Controller)架构的VouDeTaxi项目的源代码压缩包。HMVC是一种扩展MVC设计模式的方式,允许在不违反单一职责原则的情况下,将一个...
在这个"ci3hmvc"压缩包中,我们看到的是一个集成HMVC的CodeIgniter 3.0版本,它为开发者提供了更灵活的项目架构。 1. **HMVC 概念**: HMVC是一种扩展的MVC模式,它允许在一个应用程序中嵌套多个控制器。传统的MVC...
HMVC是一种扩展的MVC模式,允许在应用程序中嵌套控制器,这使得组件间的通信更为灵活,降低了复杂性。Koseven的HMVC设计使得开发者可以创建模块化、可复用的代码,提高应用程序的可扩展性。 **PHP7兼容性** Koseven...
HMVC模式即Hierarchical-Model-View-Controller模式,也可以叫做Layered MVC.HMVC模式把客户端应用程序分解为有层次的父子关系的MVC。反复应用这个模式,形成结构化的客户端架构。 HMVC工作原理: Controller是功能...
Laravel HVMC - 模块HMVC 设计模式是一种模块化模式,可以(并且正在)与旧的 MVC 模式同时使用。 基本上,您的 Laravel 5 应用程序结构如下所示: app├── Console├── Exceptions├── Framework├── Http...
#HMVC-模板一个简单但功能强大且灵活的 Code Igniter 框架库,带有 HMVC 扩展,用于管理 HTML 视图模板。 这个库和模板系统使得快速创建 HTML 模板文件变得非常简单和容易,以将标记从页眉和页脚部分可视化呈现,...
点火枪HMVC 带有源代码的示例在这里,我们将通过示例了解如何配置Hmvc模块。 可以从教程底部的链接下载Hmvc模块以及该应用程序的完整源代码。 为您的安装正确设置** $ config [base_url] **配置HMVC模块打开项目根...
CodeIgniter HMVC迁移类此类允许与HMVC模块一起使用迁移(与) 用法: 将MY_Migrations.php类导入到applications/libraries 在模块中创建文件$modules_path/$module_name/config/migration.php 。 module_config_...
CI hmvc 登录模块带有 Wiredesignz MX 扩展的 CodeIgniter 登录模块 - HMVC ##演示 ###描述这是一个登录模块,旨在与 CodeIgniter 的 Wiredesignz MX 扩展一起使用。 该模块包含与演示版本相同的设置。 它具有用户...
什么是 Limovico Limovico 是一个轻量级的分层模型视图控制器框架,用于使用 PHP 构建网站。 它带有几个核心和库类来处理网站的主要功能。 特征 模块化模型-视图-控制器结构。 控制器可以调用其他模块的模型和视图...
(如果您想使用旧的Bootstrap 3.3,请参阅以前的版本) 创建“ blox”模块以构建企业级Web应用程序使用Codeigniter 3.x和Bootstrap 4.xx 可用作快速入门项目的启动器/样板什么是blox? “ Blox”只是Web应用程序中...
在 Codeigniter 2.1 中设置 HMVC 这假设您已经安装了 Codeigniter 2.1.x 在下载 codeigniter-modular-extensions-hmvc。 解压存档将所有文件从提取的存档核心目录移动到 Codeigniter 实例的 /application/core 目录...
在 HMVC codeIgniter HMVC + GroceryCrud + TankAuth 这个包对于使用 CodeIgniter 框架和 GroceryCRUD 和 TankAuth 创建网络非常有用。 我们不需要再次设置这个组合。 CodeIgniter 在这个包上使用 HMVC 结构。 因此...
Laravel 4 模块化 (HMVC) 方法 这是在 HMVC 模式中定制的 Laravel 4.2。 本模块涵盖: 配置, 控制器, 数据库:迁移和播种, 朗, 楷模, 意见, 自定义过滤器,以及 自定义路线。 这个怎么运作: 我们正在...
带有 HMVC 和 Ion_Auth 的 CodeIgniter 3.0-dev 我的第一个 Github 存储库,我只是将 CI3.0-dev 与 Wiredesignz HMVC 模块和 Ion_Auth 结合起来。 还包括一个模板模块。 文档将很快提供。 同时,此处提供有关 HMVC ...