You are here

public function Connection::destroy in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::destroy()

Destroys this Connection object.

PHP does not destruct an object if it is still referenced in other variables. In case of PDO database connection objects, PHP only closes the connection when the PDO object is destructed, so any references to this object may cause the number of maximum allowed connections to be exceeded.

File

core/lib/Drupal/Core/Database/Connection.php, line 209

Class

Connection
Base Database API class.

Namespace

Drupal\Core\Database

Code

public function destroy() {

  // Destroy all references to this connection by setting them to NULL.
  // The Statement class attribute only accepts a new value that presents a
  // proper callable, so we reset it to PDOStatement.
  if (!empty($this->statementClass)) {
    $this->connection
      ->setAttribute(\PDO::ATTR_STATEMENT_CLASS, [
      'PDOStatement',
      [],
    ]);
  }
  $this->schema = NULL;
}