用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8525|回复: 8
收起左侧

[库 Library] hmvc的一个支持模块

[复制链接]
发表于 2009-10-27 11:52:07 | 显示全部楼层 |阅读模式
本帖最后由 xiaoniao 于 2009-10-27 11:53 编辑

/*原文地址:http://www.phpall.cn/forum/read.php?tid=263
*phpall技术交流群:7534579
*http://www.phpall.cn
*/
首先下载它的程序包:modular_extensions_5227.zip 附件中可下载。
将里面的3个文件解压以后放到application/library里面。
然后下载codeigniter的程序包,我使用的是1.7.1版本的。
配置好config.phpdatabase.php等文件。Application下新建modules目录。里面就可以放不同的模块了。比如你可以分别新建admin文件夹和user文件夹,用来放不同的模块。然后adminuser文件夹里面就可以像原始的ci那样放controllermodelview等了。
我这里做了一个小小的测试。先看下我的文件夹目录:



我在application中新建了modules目录,然后再新建welcome目录,里面放了controllermodelview。我现在将ci程序包中application/controllers目录下已经有的welcome.php剪切到modules/welcome/controllers下,然后再将application/views下已经有的welcome_message.php文件剪切到modules/welcome/views下面。现在我们访问:
http://127.0.0.1/ci_zone/hmvc/index.php/welcome/welcome将也会看到欢迎界面。
urlci_zone/hmvc是我自己放ci的目录。后面的第一个welcome表示模块名,即modules下面的welcome目录,第二个welcome表示welcome/controllers下的welcome.php文件。
如果controller下的默认打开的控制器名跟它的模块名是一样的,则该文件名可以省略,现在welcome.php控制器的名字跟模块名welcome是同名的,所以
http://127.0.0.1/ci_zone/hmvc/index.php/welcome这个url也同样可以得到ci欢迎界面。

上面的欢迎界面是没有带model的,我下面来写个带model的例子,看看hmvc下的调用方法跟普通mvc下面的调用方法有什么不一样。源代码在附件中大家可以下载过来看,数据库的sql文件大家需要导入到数据库。
http://127.0.0.1/ci_zone/hmvc/index.php/welcome/insert/index访问这个页面可以看到插入数据库的表单。然后提交表单可以将数据插入数据库。实际上在hmvc调用model,类库,辅助函数等跟原始的ci框架的调用方法是一样。有一个地方不一样的是
我们在某个views文件里可以调用其他模块
代码如下:<?php echo modules::run('module/controller/method') ?>

Module指的模块名controllermethod分别指的是控制器和它的某个方法。
http://127.0.0.1/ci_zone/hmvc/index.php/welcome/insert/testmodules这个url同样可以得到跟
http://127.0.0.1/ci_zone/hmvc/index.php/welcome/insert/index 一样的页面。
我们先看看insert控制器中的testmodules的方法:
function testmodules(){
                                   $this->load->view('test');
                            }
它只有一个句话,就是打开test视图页面。我们在打开views里面的test.php文件。
里面也只有一句核心代码:
<?php echo modules::run('welcome/insert/index') ?>
这句就可以在views里面加载其他模块了。 hmvc.rar (383.15 KB, 下载次数: 185)
发表于 2010-5-31 21:57:01 | 显示全部楼层
谢谢分享
发表于 2010-7-9 20:26:36 | 显示全部楼层
谢谢!!!。分享
发表于 2011-1-10 17:26:30 | 显示全部楼层
请问 这个怎么传参
发表于 2011-4-23 01:12:58 | 显示全部楼层
发个帖,留个名
发表于 2011-4-23 01:20:21 | 显示全部楼层
对了用了这个以后我要用另外个模块下的model该怎么调用?
发表于 2011-6-9 09:17:37 | 显示全部楼层
这个可以有
发表于 2011-8-22 10:07:17 | 显示全部楼层
很管用
发表于 2012-7-16 00:16:27 | 显示全部楼层
在ci其它版本可以用吗?

本版积分规则