Работает - хорошо, но смешивать императивный и декларативный стили так грубо - не айс для восприятия)
завернул в анонимку, но мне кажется опять не то сделал
return [
'components' => [
'db' => function () {
$connections = [
'domain1' => ['db' => 'db', 'user' => 'user', 'password' => 'pass'],
'domain2' => ['db' => 'db', 'user' => 'user', 'password' => 'pass'],
'default' => ['db' => 'db', 'user' => 'user', 'password' => 'pass']
];
$host = array_key_exists($_SERVER['HTTP_HOST'], $connections) ? $_SERVER['HTTP_HOST'] : 'default';
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=' . $connections[$host]['db'],
'username' => $connections[$host]['user'],
'password' => $connections[$host]['password'],
'charset' => 'utf8',
];
},
],
];