ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
LockHandlerilDB.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
27 class LockHandlerilDB implements LockHandler
28 {
29  protected \ilDBInterface $db;
30 
35  public function __construct(\ilDBInterface $db)
36  {
37  $this->db = $db;
38  }
39 
40  public function lockTables(array $table_names, callable $during): LockHandlerResult
41  {
42  $lock = $this->db->buildAtomQuery();
43  foreach ($table_names as $table_name) {
44  $lock->addTableLock($table_name);
45  }
46  $lock->addQueryCallable(static function (\ilDBInterface $db) use ($during): void {
47  $during();
48  });
49 
50  return new LockHandlerResultilDB($lock);
51  }
52 }
lockTables(array $table_names, callable $during)
__construct(\ilDBInterface $db)
LockHandlerilDB constructor.