function Connection::__destruct

Same name in this branch
  1. 9 core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection::__destruct()
  2. 9 core/modules/mysql/src/Driver/Database/mysql/Connection.php \Drupal\mysql\Driver\Database\mysql\Connection::__destruct()
Same name in other branches
  1. 8.9.x core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php \Drupal\Core\Database\Driver\sqlite\Connection::__destruct()
  2. 8.9.x core/lib/Drupal/Core/Database/Driver/mysql/Connection.php \Drupal\Core\Database\Driver\mysql\Connection::__destruct()
  3. 10 core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection::__destruct()
  4. 10 core/modules/mysql/src/Driver/Database/mysql/Connection.php \Drupal\mysql\Driver\Database\mysql\Connection::__destruct()
  5. 10 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::__destruct()
  6. 11.x core/modules/sqlite/src/Driver/Database/sqlite/Connection.php \Drupal\sqlite\Driver\Database\sqlite\Connection::__destruct()
  7. 11.x core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::__destruct()

Ensures that the client connection can be garbage collected.

2 calls to Connection::__destruct()
Connection::__destruct in core/modules/sqlite/src/Driver/Database/sqlite/Connection.php
Destructor for the SQLite connection.
Connection::__destruct in core/modules/mysql/src/Driver/Database/mysql/Connection.php
Ensures that the client connection can be garbage collected.
2 methods override Connection::__destruct()
Connection::__destruct in core/modules/sqlite/src/Driver/Database/sqlite/Connection.php
Destructor for the SQLite connection.
Connection::__destruct in core/modules/mysql/src/Driver/Database/mysql/Connection.php
Ensures that the client connection can be garbage collected.

File

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

Class

Connection
Base Database API class.

Namespace

Drupal\Core\Database

Code

public function __destruct() {
    // Call the ::destroy method to provide a BC layer.
    // @todo https://www.drupal.org/project/drupal/issues/3153864 Remove this
    //   call in Drupal 10 as the logic in the destroy() method is no longer
    //   required now we implement a proper destructor.
    $this->destroy();
    // Ensure that the circular reference caused by Connection::__construct()
    // using $this in the call to set the statement class can be garbage
    // collected.
    $this->connection = NULL;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.