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

更新日: 2016年2月25日

実行時間: 0.0079

CI_Config

 CI_Configクラスは、システム設定ファイルの「config.php」及びユーザ設定ファイルで設定した情報を取得する機能を提供します。
また、いくつかのURI情報を取得する機能と動的に設定項目・設定値を追加する機能を提供しています。

load($file = '', $use_sections = FALSE, $fail_gracefully = FALSE)

ユーザ設定ファイルをロードします。

  • 通常のロード
  • $this->config->load('my_config');

    読み込みたい設定ファイルの拡張子「.php」を除いたファイル名を引数に指定します。

  • セクションを利用するロード
  • $this->config->load('my_config', TRUE);

    複数の異なる設定ファイルで同じ設定項目を利用している場合は、 第二引数に「TRUE」を指定することで、 複数の異なる設定ファイルに同じ設定項目が指定されていてもそれぞれの設定を読み込めるようになります。

    通常のロードとセクションを利用するロード方法では、設定値を読み込む方法も異なります。下の「item()」メソッドの説明を参照してください。

  • ロードエラー
  • if ( $this->config->load('my_config', FALSE, TRUE) ){}

    第三引数に「TRUE」を指定することで、設定ファイルが存在しない、または、$config設定変数が無いなどの ロードエラーがあった場合、「FALSE」が返るようになります。
    デフォルトではロードエラーがあっても「TRUE」を返します。

item($item, $index = '')

ロードした設定ファイルに設定してある「設定値」を取得します。

  • 通常ロードからの設定値取得
  • $config['APP_VERSION'] = '1.1.0';
    $version = $this->config->item('APP_VERSION');

    $config連想配列の添え字(インデックスキー)を引数に指定することで、設定値を取得できます。

  • セクションを利用したロードからの設定値取得
    • myshop_config.php
    • $config['VERSION'] = '1.0.0';
    • myblog_config.php
    • $config['VERSION'] = '2.0.0';
    $this->config->load('myshop_config', TRUE);
    $this->config->load('myblog_config', TRUE);
    $shop_version = $this->config->item('VERSION', 'myshop_config');
    $blog_version = $this->config->item('VERSION', 'myblog_config');
    echo $shop_version;
    // 1.0.0
    echo $blog_version;
    // 2.0.0

set_item($item, $value)

第一引数に設定項目文字列、第二引数に設定値を指定することで、処理の途中で動的に設定値を追加、または更新することができます。

    $this->config->set_item('language', 'japanese');

ヘルパーメソッド

CI_ConfigクラスはURL情報の取得に関するヘルパーメソッドを提供しています。

site_url($uri = '')

「config.php」設定ファイルの「$config['base_url']」設定値と「$config['index_page']」設定値を連結した文字列を返します。
「$config['base_url']」設定値が未設定の場合、CodeIgniterのシステムが自動で現在のURLを設定して値を返します。

    • config.php
    • $config['base_url'] = '';
      $config['index_page'] = '';
    echo $this->config->site_url();
    // http://www.ci-guide.info/
    echo $this->config->site_url(array('practical', 'core'));
    // http://www.ci-guide.info/practical/core/

    引数にURIパス文字列または、URIパス文字列の配列を指定することで、URIパスが追記されたURL文字列を取得できます。

base_url($uri = '')

「config.php」設定ファイルの「$config['base_url']」設定値を返します。
「$config['base_url']」設定値が未設定の場合、CodeIgniterのシステムが自動で現在のURLを設定して値を返します。

    echo $this->config->base_url();
    // http://www.ci-guide.info/
    echo $this->config->base_url(array('practical', 'core'));
    // http://www.ci-guide.info/practical/core/

    引数にURIパス文字列または、URIパス文字列の配列を指定することで、URIパスが追記されたURL文字列を取得できます。