function Database::getConnection

Same name in other branches
  1. 7.x includes/database/database.inc \Database::getConnection()
  2. 9 core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::getConnection()
  3. 8.9.x core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::getConnection()
  4. 10 core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::getConnection()

Gets the connection object for the specified database key and target.

Parameters

string $target: The database target name.

string $key: The database connection key. Defaults to NULL which means the active key.

Return value

\Drupal\Core\Database\Connection The corresponding connection object.

195 calls to Database::getConnection()
add_pagination_heading.php in core/modules/views/tests/fixtures/update/add_pagination_heading.php
Test fixture.
BigPipeTest::testBigPipe in core/modules/big_pipe/tests/src/Functional/BigPipeTest.php
Tests BigPipe-delivered HTML responses when JavaScript is enabled.
BlockContentCreationTest::testFailedBlockCreation in core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php
Verifies that a transaction rolls back the failed creation.
BlockContentReusableIndexUpdatePathTest::testRunUpdates in core/modules/block_content/tests/src/Functional/Update/BlockContentReusableIndexUpdatePathTest.php
Tests the upgrade path for Block Content reusable index.
BootstrapConfigStorageFactory::getDatabaseStorage in core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
Returns a Database configuration storage implementation.

... See full list

File

core/lib/Drupal/Core/Database/Database.php, line 132

Class

Database
Primary front-controller for the database system.

Namespace

Drupal\Core\Database

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
    // "replica", indicating to use a replica SQL server if one is available. If
    // it's not available, then the default/primary 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.