我在 CI 3.0.3 和最新的HMVC Extension中编码时遇到了一个问题。我正在自动加载一些库、助手等等。会话库也是如此。现在我有几个控制器都工作正常,除了一个。
在该控制器中,我使用以下代码:
modules::run($module->module . '/' . $module->controller . '/' . $module->method, unserialize($block->configuration));
在使用这个静态函数时,我得到了错误:
Unable to locate the specified class: Session.php
日志说会话类已初始化。
INFO - 2015-12-01 09:41:40 --> Session: Class initialized using 'database' driver.
任何想法为什么我得到这个错误?
编辑: - - - - - - - - - - - - - - - - - - - - - - - - ----------------------
为了防止愚蠢的答案如下......
在 CI 中,每个请求不能调用超过 1 个控制器。因此,要实现HMVC,我们必须模拟控制器。它可以通过库来完成,或者通过这个“Modular Extensions HMVC”贡献来完成。
使用库和“模块化 HMVC”HMVC 类之间的区别是: 1. 无需在 HMVC 类中获取和使用 CI 实例 2. HMVC 类存储在模块目录中,而不是库目录中。
编辑 2:------------------------------------------------------------ ----------------------
更多问题:
- 是的,会话库是问题所在
- 是的,仅与此 HMVC 插件结合使用
- 是的,仅当您使用静态方法时
modules::run();
- 不,我需要这种方法来模拟控制器中的控制器