2016-02-25 4 views
1

Я использую CodeIgniter 3 с wiredesignz HMVC.Modules :: run() throwing error: «Не удалось найти указанный класс: Session.php»

У меня есть контроллер, который отображает представление. Если я называю Modules::run('OtherModule/Controller/Action) изнутри этой точки зрения, он показывает следующее сообщение внизу:

Unable to locate the specified class: Session.php 

Сессия включена в конфигурации автоматической загрузки и отлично работает во всех контроллерах без ссылок на контроллеры в других модулях. Удаление инструкции Modules::run() избавляет от ошибки, а ссылочный метод является пустым манекеном, поэтому ошибка должна исходить от Modules::run().

Google показывает несколько похожих вопросов, но никто не получил ответа. Надеюсь, кто-то выяснил это с момента последнего запроса. Помощь очень ценится! Заранее спасибо!

+0

Убедитесь, что файл вашего контроллера имеет верхний регистр первой буквы для имени класса и файла. – user4419336

ответ

2

Я, наконец, понял это! Контроллер я попытался вызвать расширенный MY_Controller, который напрямую расширил CI_Controller. По-видимому, это отлично подходит для вызова методов через URL-адрес, но MX_Controller необходимо продлить для работы Modules::run(). Вместо этого решение MY_Controller MX_Controller решило проблему.

Я предполагал, что я сделал MY_Controller расширением MX_Controller, когда я его создал, и мне не приходилось это проверять. По-видимому, это ошибка, которую делает больше людей, и теперь решение окончательно задокументировано.