【发布时间】:2012-11-03 18:59:52
【问题描述】:
我在 application/core/MY_Lang.php 中有核心类,这个类扩展了 CI_Lang 类,并覆盖了基类的构造函数:
class MY_Lang extends CI_Lang {
function __construct()
{
parent::__construct();
}
}
如何从我的类的构造函数访问数据库对象。
我尝试访问 CI 超级对象,但类 CI_Controller 暂时没有加载
if (class_exists('CI_Controller'))
{
$this->CI =& get_instance();
}
【问题讨论】:
-
您是否尝试加载数据库对象?
$this->load->database(); -
查看基础 CI_Lang 类,似乎 get_instance() 至少被使用过一次,因此在 Lang 类中使用它必须是有效的。您是否确保仅在调用父构造函数之后使用 get_instance() ?
-
实际上,您是否尝试过调用 get_instance() 而不首先确保 CI_Controller 存在?我承认,我不确定 get_instance() 依赖于什么,但看起来他们只是在 CI_Lang 中调用它而没有进行任何额外的检查。
标签: php codeigniter