Пример #1
0
 /**
  * @param IDatabase $dbw
  * @param string $fname Caller name (usually __METHOD__)
  * @param callable $callback Callback that takes (IDatabase, method name string)
  */
 public function __construct(IDatabase $dbw, $fname, callable $callback)
 {
     $this->dbw = $dbw;
     $this->fname = $fname;
     $this->callback = $callback;
     if ($this->dbw->trxLevel()) {
         $this->dbw->onTransactionResolution([$this, 'cancelOnRollback'], $fname);
     }
 }
Пример #2
0
 /**
  * @param callable $callback
  * @param string $fname Calling method
  * @param IDatabase|null $dbw Abort if this DB is rolled back [optional] (since 1.28)
  */
 public function __construct(callable $callback, $fname = 'unknown', IDatabase $dbw = null)
 {
     $this->callback = $callback;
     $this->fname = $fname;
     if ($dbw && $dbw->trxLevel()) {
         $dbw->onTransactionResolution([$this, 'cancelOnRollback'], $fname);
     }
 }