使用完整的参数集启动CDbConnection

时间:2015-05-08 08:24:24

标签: php database yii

我需要启动另一个(默认的一个)数据库连接,我想以同样的方式执行此操作,就像Yii用于配置一样。即用配置数组来提供它:

array
(
    'connectionString'=>'mysql:host=localhost;dbname=dbname',
    'charset'=>'utf8',
    'username'=>'username',
    'password'=>'password',
    'emulatePrepare'=>true
)

可以肯定的是,所有 CDbConnection的属性都将被正确设置。

但是,CDbConnection::__construct仅接受$dns$username$password,而不接受任何其他内容。

1 个答案:

答案 0 :(得分:0)

我发现到目前为止唯一的方法是使用空值启动CDbConnection并迭代配置数组键并按每个键设置:

$db = new CDbConnection();

foreach($config as $key->$value) {
    $db->$key = $value;
}

$db->active = true;

但是,我觉得应该有更好的方法来做到这一点。