1

我正在使用带有wiredesignz HMVC的CodeIgniter 3。

我有一个呈现视图的控制器。如果我Modules::run('OtherModule/Controller/Action)从该视图中调用,它会在底部显示以下消息:

Unable to locate the specified class: Session.php

会话包含在自动加载配置中,并且在所有控制器中都可以正常工作,而无需引用其他模块中的控制器。删除Modules::run()语句消除了错误,并且引用的方法是一个空的哑元,所以错误必须来自Modules::run()它本身。

谷歌显示了一些类似的问题,但没有一个得到回答。希望自从上次被问到之后有人已经弄清楚了。非常感谢您的帮助!提前致谢!

4

1 回答 1

3

我终于想通了!我尝试调用扩展的 MY_Controller 的控制器,它直接扩展了 CI_Controller。显然这适用于通过 URL 调用方法,但需要扩展 MX_ControllerModules::run()才能工作。制作 MY_Controller MX_Controller 反而解决了这个问题。

我假设我在创建 MY_Controller 时扩展了 MX_Controller,但我没有想到要检查它。显然这是更多人犯的错误,现在终于记录了解决方案。

于 2016-02-25T21:35:21.533 回答