2013-06-01 60 views
0

我想擴展我的CI_Lang類以從數據庫中獲取語言值。所以我創建了一個CI_Lang文件的副本,並重寫了加載和構造函數。Codeigniter:當控制器加載使用時擴展CI_Lang類&get_instance()

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中的舊功能,而不是擴展功能。有任何想法嗎?

回答

1

好吧,我發現沒有使用任何鉤子的解決方案。

第一:我必須把MY_Lang.php放到'core'文件夾。

第二: 「$這 - > CI = & get_instance();」 必須被放置在 「負載」 的功能,而不是在該構建體。

希望它有幫助,它在這裏工作。 :)