应该很简单,但事实并非如此。
我有一个希望使用其他库的库,但有些东西不是jiving。
两个lib都存在于system / cms / libraries中,因为据我所知,addons / shared_addons / libraries完全没用,而且库需要自动加载(似乎system / cms本质上是系统/应用程序,但请更正我错了)旁白:只是为了踢,我把一个库放在shared_addons / libaries中,看看我是否可以从一个模块调用;我不能。为什么会这样?
LIB1
- 需要db
- 需要lib2
LIB2
- 需要会议
这是发生了什么。控制器[模块]加载;调用lib1,调用lib2会引发错误。 Lib1将由所有模块控制器调用。 Lib2使用先前设置的会话数据,仅由lib1调用。
在lib2中,我使用$ CI = get_instance()来假设启用CI库(例如数据库,会话)。但是,我无法通过“致命错误:在非对象上调用成员函数userdata()”;由
调用//system/cms/libraries/lib2.php
$this->CI =& get_instance();
//$this->load->library('database'); == "can't find class database"
$ekeyLoc = $this->CI->session->userdata('ronery');
现在,如果我在模块控制器中运行它,它会按预期工作。
所以用谷歌搜索那个错误,很多“db not loaded”出现了。只是为了确保,我试图加载数据库,但因为我,它找不到类'数据库'NB:数据库正在自动加载。
当你分配CodeIgniter超级对象时,我假设它抓住了整个jabloney,对吧?我是这么想的。但为了确保,我决定尝试在模块/控制器中加载数据库类,事实证明,因为找不到我。
我试着通过pyroCMS文档来了解任何诡计,但没有太多,也没有对我的情况有所帮助。
为什么我不能从模块控制器加载核心库?
为什么我不能将核心库加载到system / cms / libraries中的自定义库中?
为什么我指定的CodeIgniter超级对象不包含session / db crap?
为什么我无法从/ addons / shared_addons / library加载库?
为什么调用$this->session->userdata()
可以从模块控制器工作,但不能从system / cms / libraries文件夹中的库工作,即使已经分配了CodeIgniter超级对象?
感谢。
在没有回答的2天之后,我发现继续寻求帮助既令人沮丧又欢闹,这不可避免地导致这个问题成为google的最佳结果。 FML。
答案 0 :(得分:0)
首先要做的事情:
$this->load->library('database');
这不是有效的CodeIgniter代码,就像他们的文档说它应该是:
$this->load->database();
正如您已经指出的那样,虽然这是自动加载的,但无论如何都没有必要这样做。
为什么我无法从模块控制器加载核心库?
你可以。
为什么我不能将核心库加载到system / cms / libraries中的自定义库中?
你可以。
为什么我指定的CodeIgniter超级对象不包含session / db废话?
确实如此。
为什么我无法从/ addons / shared_addons / library加载库?
这在1.3.x中是不可能的,但应该已经在1.3.2中修复,如果在2.0中没有修复的话。
我不知道你在做什么或为什么会遇到这样的问题,但是如果没有任何示例代码或者你正在使用的PyroCMS版本的描述我就无法继续帮助。
如果你被困了两天,你为什么不在我们的论坛上发帖?如果您已在我们的论坛上发布(我没有看到任何相关内容),您应该在此帖子中添加一个链接到您的论坛帖子,以帮助其他人回答问题。
这不是第一次有人被困在互联网上,但你表现得像是这样。来吧,你知道这是如何工作的! :)