2

我正在尝试将模块化扩展实现到 codeigniter 2 设置中,但遇到了一些问题。我按照 wiki 上的安装说明进行操作,一切正常。然后我开始玩了一下并尝试使用它。我所做的只是创建一个名为 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

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

4

2 回答 2

3

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

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

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

只是为了确保您的模型位于此处对吗?

application/modules/users/models/users_m.php

至于分析器错误:
1)您是否完成了安装步骤 5并将 Modular Extensions 核心文件放入 application/core 中?
2) 你有最新版本的 HMVC 吗?最近几天对 mx/loader.php 进行了更新。

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

于 2010-10-03T22:11:21.840 回答
1

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

application/
           modules/
                  users/
                       models/
                             users_m.php

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

$this->load->model('users/users_m','',TRUE);
于 2012-07-02T07:53:09.283 回答