|
本帖最后由 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.php和database.php等文件。Application下新建modules目录。里面就可以放不同的模块了。比如你可以分别新建admin文件夹和user文件夹,用来放不同的模块。然后admin或user文件夹里面就可以像原始的ci那样放controller、model和view等了。
我这里做了一个小小的测试。先看下我的文件夹目录:
我在application中新建了modules目录,然后再新建welcome目录,里面放了controller、model和view。我现在将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将也会看到欢迎界面。
url中ci_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指的模块名controller和method分别指的是控制器和它的某个方法。
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)
|
|