lullabot/drupal-symfony-lock

Use Drupal's lock backends with Symfony's locking API.

1.2.0 2023-09-06 13:46 UTC

This package is auto-updated.

Last update: 2024-04-06 15:03:34 UTC


README

CircleCI Maintainability Test Coverage

Do you want to use a PHP library that requires Symfony's Lock Component in your Drupal site? This library maps Drupal's LockBackendInterface to a Symfony StoreInterface.

Usage

Require this library in your Drupal module:

$ composer require lullabot/drupal-symfony-lock

Inject lock service from the Drupal container, and use it when constructing this class:

<?php

$backend = \Drupal::lock();
$store = new \Lullabot\DrupalSymfonyLock\DrupalStore($backend);
$factory = new \Symfony\Component\Lock\Factory($store);
$lock = $factory->createLock('lock-identifier', 10);

// Blocking means this will throw an exception on failure.
$lock->acquire(true);