Php 使用全套参数启动CDB连接

Php 使用全套参数启动CDB连接,php,database,yii,Php,Database,Yii,我需要启动另一个(默认连接旁边的)数据库连接,并且我希望以与Yii配置相同的方式执行此操作。即,为其提供配置阵列: array ( 'connectionString'=>'mysql:host=localhost;dbname=dbname', 'charset'=>'utf8', 'username'=>'username', 'password'=>'password', 'emulatePrepare'=>true )

我需要启动另一个(默认连接旁边的)数据库连接,并且我希望以与Yii配置相同的方式执行此操作。即,为其提供配置阵列:

array
(
    'connectionString'=>'mysql:host=localhost;dbname=dbname',
    'charset'=>'utf8',
    'username'=>'username',
    'password'=>'password',
    'emulatePrepare'=>true
)
当然,所有的
CDbConnection
属性都将正确设置


但是,只接受
$dns
$username
$password
和其他任何东西。

到目前为止,我找到的唯一方法是使用空值启动
CDbConnection
,并迭代配置数组键,然后逐个设置:

$db = new CDbConnection();

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

$db->active = true;
但是,我有一种感觉,应该有一种更好的方法来做到这一点