CodeIgniter 2.0.2 の third_party 読み込み不具合

CodeIgniter を使ってみようといろいろ検証・練習していたら、どうにも third_party の機能が動かない。

具体的には、 autoload もしくは add_package_path で読み込んでいるのに、system/core/Config.php でエラーが出るので利用できなかった。

ソースを読んだり、いろいろ検索したら、code igniter third party, $this->load->add_package_path not working correctly がヒットした。

この回答のように、system/core/Config.php を以下のように修正して動くようになりました。

function load($file = '', $use_sections = FALSE, $fail_gracefully = FALSE){
  $file = ($file == '') ? 'config' : str_replace(EXT, '', $file);
  $found = FALSE;
  $loaded = FALSE; 
  foreach ($this->_config_paths as $path){
    $found = FALSE; // ++++++ 追加
    $check_locations = defined('ENVIRONMENT')
    ? array(ENVIRONMENT.'/'.$file, $file)

解決はしましたが、あまりハックに頼りたくないので、次リリースで修正されているといいのですが。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする