codeigniter模块化扩展

时间:2010-10-03 13:38:42

标签: codeigniter modular codeigniter-2

我正在尝试将modular extensions实现到codeigniter 2设置中,但是遇到了一些问题。我按照维基上的安装说明进行操作,一切正常。然后我开始玩一下并尝试使用它。我所做的只是创建一个名为users的新模块,其中包含所需的文件夹,并添加了一个名为users_m的模型类。然后我尝试从我的欢迎模块控制器加载它。根据维基,这应该是非常简单的。我只是添加了这一行

$this->load->model('users/users_m');

到我的欢迎控制器的构造函数。

不幸的是,在这一点上,我得到了死亡的白色屏幕。

所以我尝试了别的东西。这次我删除了加载模型行并添加了

$this->output->enable_profiler(TRUE);

这次我显示了欢迎页面并且我获得了分析器,但是在页面顶部我收到了这个错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined property: CI::$profiler

Filename: MX/Loader.php

Line Number: 145

我不知道这两次尝试是否相关,但显然我的设置有些不对劲。有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:3)

如果您从同一模块中的控制器访问模型,则可以使用以下方式加载它:

$this->load->model(‘user_m’);

您在模块之间交叉加载时只需执行$this->load->model(‘module/model_name’);

为了确保您的模型位于此处?

application/modules/users/models/users_m.php

至于探查器错误:
1)您是否完成了安装step 5并将Modular Extensions核心文件放入应用程序/核心? 2)你有最新版本的HMVC吗? last couple days中有mx / loader.php的更新。

聚苯乙烯。关于HMVC的精彩教程:http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/

答案 1 :(得分:1)

如果您的文件夹结构如下:

application/
           modules/
                  users/
                       models/
                             users_m.php

然后用它来控制你的控制器中的模型

$this->load->model('users/users_m','',TRUE);