Модульные расширения Codeigniter
-
27-09-2019 - |
Вопрос
Я пытаюсь осуществить модульные расширения в настройки Code Gigniter 2, но у меня есть несколько проблем. Я следовал инструкциям по установке на вики, и все работало нормально. Тогда я начал играть немного и попытаться использовать его. Все, что я сделал, было создать новый модуль, называемый пользователями с обязательными папками и добавлен класс модели под названием Tools_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
Я не знаю, будут ли эти два попытка связаны или нет, но, очевидно, что-то не правильно с моей установкой. Может кто-то указать мне в правильном направлении?
Решение
Если вы получаете доступ к модели от контроллера в том же модуле, вы можете загрузить его, используя только:
$this->load->model(‘user_m’);
Вам нужно только сделать $this->load->model(‘module/model_name’);
Когда ваша перекрестная нагрузка между модулями.
Просто чтобы убедиться, ваша модель находится здесь, верно?
application/modules/users/models/users_m.php
Что касается ошибки профилирования:
1) Вы сделали установку Шаг 5. и поместите модульные расширения основных файлов в приложение / CORE?
2) У вас есть последняя версия HMVC? Там были обновления MX / Loader.php в Последние пару дней.
Придавать Отличное руководство по HMVC: http://net.tutsplus.com/tutorials/php/hvmc-an-intRoduction-and-Application/
Другие советы
Если у вас есть структура папки, как:
application/
modules/
users/
models/
users_m.php
Затем используйте это, чтобы позвонить моделям, которые ваш контроллер
$this->load->model('users/users_m','',TRUE);