我想扩展我的CI_Lang类以从数据库中获取语言值。所以我创建了CI_Lang文件的副本并重写了加载和构造函数。
private $CI;
function __construct()
{
parent::__construct();
log_message('debug', "Language Class Initialized");
$this->CI = &get_instance();
}
我在配置文件中启用了钩子并创建了一个新钩子:
$hook['post_controller_constructor'] = array(
'class' => 'MY_Lang',
'function' => '__construct',
'filename' => 'MY_Lang.php',
'filepath' => 'hooks'
);
这是正常的。但是,当我尝试加载语言时,它仍然使用CI_Lang中的旧函数而不是扩展函数。有什么想法吗?
答案 0 :(得分:1)
好的,我没有使用任何钩子就找到了解决方案。
首先:我必须将MY_Lang.php放到'core'文件夹中。
第二:“ $ this-> CI =& get_instance(); ”必须放在“加载”功能中,而不是放在构造中。
希望它有所帮助,它在这里工作。 :)