модульные расширения codeigniter - PullRequest
2 голосов
/ 03 октября 2010

Я пытаюсь внедрить модульные расширения в установку 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 ]

3 голосов
/ 04 октября 2010

Если вы обращаетесь к модели из контроллера в том же модуле, вы можете загрузить ее, используя:

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

Вы должны делать $this->load->model(‘module/model_name’); только при перекрестной загрузке между модулями.

Просто чтобы убедиться, что ваша модель находится здесь, верно?

application/modules/users/models/users_m.php

Что касается ошибки профилировщика:
1) Вы выполнили установку шаг 5 и поместили файлы ядра Modular Extensions в приложение / ядро?
2) У вас есть последняя версия HMVC? За последние пару дней .

были обновления mx / loader.php.

Ps. отличный учебник по HMVC: http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/

1 голос
/ 02 июля 2012

, если у вас есть структура папок, например:

application/
           modules/
                  users/
                       models/
                             users_m.php

затем используйте это для вызова моделей на вашем контроллере

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