PersistentDatabaseLockBackend.php

Same filename in this branch
  1. 8.9.x core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php
Same filename in other branches
  1. 9 core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php
  2. 9 core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php
  3. 10 core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php
  4. 10 core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php
  5. 11.x core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php
  6. 11.x core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php

Namespace

Drupal\Core\Lock

File

core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php

View source
<?php

namespace Drupal\Core\Lock;

use Drupal\Core\Database\Connection;

/**
 * Defines the persistent database lock backend. This backend is global for this
 * Drupal installation.
 *
 * @ingroup lock
 */
class PersistentDatabaseLockBackend extends DatabaseLockBackend {
    
    /**
     * Constructs a new PersistentDatabaseLockBackend.
     *
     * @param \Drupal\Core\Database\Connection $database
     *   The database connection.
     */
    public function __construct(Connection $database) {
        // Do not call the parent constructor to avoid registering a shutdown
        // function that releases all the locks at the end of a request.
        $this->database = $database;
        // Set the lockId to a fixed string to make the lock ID the same across
        // multiple requests. The lock ID is used as a page token to relate all the
        // locks set during a request to each other.
        // @see \Drupal\Core\Lock\LockBackendInterface::getLockId()
        $this->lockId = 'persistent';
    }

}

Classes

Title Deprecated Summary
PersistentDatabaseLockBackend Defines the persistent database lock backend. This backend is global for this Drupal installation.

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