首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter会话库- HMVC

Codeigniter会话库- HMVC
EN

Stack Overflow用户
提问于 2015-12-01 08:50:51
回答 1查看 994关注 0票数 0

我在CI 3.0.3和最新的HMVC扩展中编写代码时遇到了一个问题。我在自编一些图书馆,助手等等。会话库也是。现在我有几个控制器都正常工作,除了一个。

在该控制器中,我使用以下代码:

代码语言:javascript
复制
modules::run($module->module . '/' . $module->controller . '/' . $module->method, unserialize($block->configuration));

在使用这个静态函数时,我得到了一个错误:

代码语言:javascript
复制
Unable to locate the specified class: Session.php

日志显示会话类已初始化。

代码语言:javascript
复制
INFO - 2015-12-01 09:41:40 --> Session: Class initialized using 'database' driver.

知道我为什么会犯这个错误吗?

编辑:

为了防止以下愚蠢的答案..。

在CI中,每个请求不能调用多于一个控制器。因此,为了实现HMVC,我们必须对控制器进行仿真。它可以用库来完成,也可以用“模块扩展HMVC”的贡献来完成。 使用库和“模块化HMVC”HMVC类的区别是: 1.不需要在HMVC类中获取和使用CI实例。HMVC类存储在模块目录中,而不是库目录中。

编辑2:

关于进一步问题:

  • 是的,会话库是问题所在
  • 是的,只有结合这个HMVC插件。
  • 是的,只有在使用静态方法modules::run();的情况下
  • 不,我需要这种方法来模拟控制器中的控制器。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-01 13:27:16

很简单。

如果要在控制器中加载控制器,请使用:

代码语言:javascript
复制
Modules::load();

或者将Modules::run();外包到由主控制器加载的视图中。

很简单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34016186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档