|
本帖最后由 lynn.wang 于 2012-3-9 11:54 编辑
1.先搭建好干净的 CodeIgnter 环境 (避免受其他设置等影响浪费大量时间)
2.将 CodeIgnter-HMVC 文件夹中
( 下载地址 https://github.com/CodeIgniter/HMVC )
application\core\Module.php
application\core\MY_Loader.php
application\core\MY_Router.php
application\third_party\module_proxy.php
4个文件拷贝到 CodeIgnter application 对应的目录下
(这个就是实现 HMVC 的代码,放进去即可,也可以学习下哈)
3.在 CodeIgnter application 下建一个 modules 文件夹 (剩下的就是 创建模块 和 使用模块)
4.下面将开始使用 Hex 提供的 HMVC, 举个小例子
假设我们要在视图 welcome_message.php 中加载一个模块 test
setup1: 在 modules 下建一个 test 文件夹
setup2: 在 test 下分别建立 controllers , models , views 这3个文件夹
setup3: 先创建好test模块
A.在controllers中创建 example.php
PHP复制代码
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
类名语法: 模块名_文件名_module (注意模块名,文件名首字母要大写)
并继承的 Hex 写的 CI_Module
*/
class Test_Example_module extends CI_Module {
public function index ()
{
// 这是装载本模块的模型,如果在本模块下找不到,则自动装载全局模型
$this->load->model('M_example_model');
$this->M_example_model->start();
$this->load->view('view_test');
}
}
复制代码
B.在models中创建 M_example_model.php
PHP复制代码
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
类名语法: 模块名_文件名 (注意模块名,文件名首字母要大写)
并继承的 Hex 写的 CI_Module
*/
class Test_M_example_model extends CI_Model {
function start ()
{
echo '<p>Test_M_example_model</p>';
}
}
复制代码
C.在views中创建 view_test.php
PHP复制代码
<?php
echo "This is the test module's view!";
?>
复制代码
setup4: 先在视图 welcome_message.php 中合适的位置添加所要加载的模块的代码
例如: 在body的最后面添加
<?php $this->load->module('test\example'); ?>
也就是由 模块路径\控制器 组成的
此时就会加载 test 模块,并调用 example 控制器
此时访问 localhost 可以看到原来的 welcome_message 界面会新增展示
Test_M_example_model
This is the test module's view!aaa
使用方法基本如上,如果需要在 modules 和 module 之间添加一个目录的话
对应类名的语法前面加 目录_上述类名语法
调用的时候也是在前面加上目录名即可
如果有写的不好的地方,欢迎指出修改,谢谢!
|
评分
-
查看全部评分
|