/** * @param array $params * @return \Doctrine\DBAL\Connection * @throws \Doctrine\DBAL\DBALException */ public static function connection(array $params = []) { if (!empty($params)) { return DriverManager::getConnection($params); } $params = static::$defaultConnectionParams; $params['path'] = __DIR__ . $params['path']; if (is_null(static::$defaultConnection)) { static::$defaultConnection = DriverManager::getConnection($params); } return static::$defaultConnection; }
public static function getConnection($connection = null) { $updateDefault = false; if (!$connection) { $connection = static::$defaultConnection; $updateDefault = true; } if (is_string($connection)) { if (is_a($connection, SqlConnectionInterface::class, true)) { $connection = $connection::getDefaultInstance(); } elseif (is_a($connection, ConnectionSingletonInterface::class, true)) { $connection = $connection::getConnection(); } if ($updateDefault) { static::$defaultConnection = $connection; } } return $connection; }
/** * @param \PDO $pdo * @return boolean */ public static function setDefaultConnection(\PDO $pdo) { static::$defaultConnection = $pdo; return true; }
/** * Reset connection registry * * @return void */ public static function reset() { static::$defaultConnection = null; }