====== Connection ======
**Connection** - группа классов, используемых для создания и хранения подключений к базе данных.
{{{:limb3_2007_2:ru:packages:dbal:limb_3_x_2007_2_dbal_db_connection.png|:limb3_2007_2:ru:packages:dbal:limb_3_x_2007_2_dbal_db_connection.png}}}
В пакет DBAL добавлены средства, которые позволяют клиентам не создавать самостоятельно объекты DBC (в отличие от WACT DBAL), а использовать общее хранилище подключений. Также есть средства, позволяющие использовать несколько соединений одновременно и созданных на основе различных конфигурационных данных. Например, при помощи lmbIniDbDSN можно создавать подключения на основе информации из ini файла.
Клиенты всегда получают соединение с базой данных через методы набора инструментов [[lmbDbTools]]:
$sql = 'Select ...';
$conn = lmbToolkit :: instance()->geDbConnection();
$stmt = $conn->newStatement($sql);
[...]
$record_set = $stmt->getRecordSet();
Можно также использовать совсем другое соединение, чем то, которое предлагается по-умолчанию:
$toolkit->setDefaultDbConfig(new lmbIniDbDSN(new Ini(PROJECT_DIR . '/settings/db-web-test.ini')));
$conn = $toolkit->getDBConnection();
При желании можно сразу подключиться сразу к друм различным базам данных одновременно:
$conn1 = $toolkit->getDBConnection(new lmbIniDbDSN(new Ini(PROJECT_DIR . '/settings/mysql.ini')));
$conn2 = $toolkit->getDBConnection(new lmbIniDbDSN(new Ini(PROJECT_DIR . '/settings/pgsql.ini')));
По-умолчанию lmbIniDbDSN использует common.ini файл и группу DB внутри этого ini-файла.