user icon

Roundcubeプラグイン設定ファイルの利用方法

Roundcubeプラグイン設定ファイルの利用方法を紹介します。

以下のように設定ファイルを用意します。

ソースは以下のようになります。

sample.php

rc = rcmail::get_instance();

//設定ファイルをロード
$this->load_config('config/config.inc.php');
}

function init() {
$name = $this->rc->config->get('sample.user', '');
error_log('name:'.$name);
}

}

config.inc.php


割と簡単に使えるようです。

rc->config->get('sample.user', '');
?>

ここのconfigの実態はrcube_configオブジェクトになります。
getメソッドの第二引数は値が取得出来なかった場合のデフォルト値になります。

注意点としては


コンストラクタの中で親クラスであるrcube_pluginのコンストラクタを
必ず呼び出す必要があります。

rcube_pluginクラスのコンストラクタは以下のようになっています。

ID = get_class($this);
    $this->api = $api;
    $this->home = $api->dir . $this->ID;
    $this->urlbase = $api->url . $this->ID . '/';
  }
?>

homeディレクトリなどの値を設定しています。

そして、rcube_pluginクラスのload_configメソッドは以下のようになっています。

home.'/'.$fname;
    $rcmail = rcmail::get_instance();
    if (is_file($fpath) && !$rcmail->config->load_from_file($fpath)) {
      raise_error(array('code' => 527, 'type' => 'php',
        'file' => __FILE__, 'line' => __LINE__,
        'message' => "Failed to load config from $fpath"), true, false);
      return false;
    }

    return true;
  }
?>

ここで設定ファイルの場所を取得するためにhome変数を使用しているため
rcube_pluginクラスのコンストラクタを呼び出していないと設定ファイルを取得出来なくなります。

Facebooktwitterlinkedintumblrmail
名前
E-mail
URL
コメント

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)