function Database::getConnection
Same name in other branches
- 9 core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::getConnection()
- 8.9.x core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::getConnection()
- 10 core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::getConnection()
- 11.x core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::getConnection()
Gets the connection object for the specified database key and target.
Parameters
$target: The database target name.
$key: The database connection key. Defaults to NULL which means the active key.
Return value
DatabaseConnection The corresponding connection object.
22 calls to Database::getConnection()
- ConnectionUnitTest::setUp in modules/
simpletest/ tests/ database_test.test - Sets up unit test environment.
- ConnectionUnitTest::testOpenClose in modules/
simpletest/ tests/ database_test.test - Tests Database::closeConnection() without query.
- ConnectionUnitTest::testOpenQueryClose in modules/
simpletest/ tests/ database_test.test - Tests Database::closeConnection() with a query.
- ConnectionUnitTest::testOpenQueryPrefetchClose in modules/
simpletest/ tests/ database_test.test - Tests Database::closeConnection() with a query and custom prefetch method.
- ConnectionUnitTest::testOpenSelectQueryClose in modules/
simpletest/ tests/ database_test.test - Tests Database::closeConnection() with a select query.
File
-
includes/
database/ database.inc, line 1566
Class
- Database
- Primary front-controller for the database system.
Code
public static final function getConnection($target = 'default', $key = NULL) {
if (!isset($key)) {
// By default, we want the active connection, set in setActiveConnection.
$key = self::$activeKey;
}
// If the requested target does not exist, or if it is ignored, we fall back
// to the default target. The target is typically either "default" or
// "slave", indicating to use a slave SQL server if one is available. If
// it's not available, then the default/master server is the correct server
// to use.
if (!empty(self::$ignoreTargets[$key][$target]) || !isset(self::$databaseInfo[$key][$target])) {
$target = 'default';
}
if (!isset(self::$connections[$key][$target])) {
// If necessary, a new connection is opened.
self::$connections[$key][$target] = self::openConnection($key, $target);
}
return self::$connections[$key][$target];
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.