爲的getConnection的定義列舉了參數比上面使用不同的順序。
function getConnection($target = 'default', $key = NULL)
這是可悲的不同數據庫:: addConnectionInfo(),這是
public static function addConnectionInfo($key, $target, $info)
此外,在DB_select,$ key則不是一個參數,但它是選項數組中:
function db_select($table, $alias = NULL, array $options = array()) {
if (empty($options['target'])) {
$options['target'] = 'default';
}
return Database::getConnection($options['target'])->select($table, $alias, $options);
}
而
final public static function getConnection($target = 'default', $key = NULL) {
所以這意味着'主'或'奴隸'或'默認'總是作爲集合使用,但不是替代數據庫/模式的關鍵,需要db_set_active('...「);和db_set_active();圍繞着db_select。
由於在db_select的處理過程中很容易要求調用其他dbs(比如devel調用或者改變調用),所以這是不靈活的設計。改變這一呼籲:
return Database::getConnection($options['target'])->select($table, $alias, $options);
添加的關鍵參數(它已經只具備作爲參數!!)需要的,但到目前爲止,我現在可以看到不足。
http://drupal.org/node/18429也有一些代碼示例,特別是如果您要動態配置數據庫設置,即不在settings.php中進行硬編碼。例如,如果您將數據庫設置存儲在settings.php以外的某個位置,則可以動態創建該數組並使用Database :: addConnectionInfo()建立數據庫連接。 – sillygwailo 2011-01-29 23:16:44