/** * @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); } }
/** * @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); } }