connection = $connection; $this->level = $level; $this->parent = $parent; } /** * Register a callback to be executed after committing. * * @param callable $callback * @return void */ public function addCallback($callback) { $this->callbacks[] = $callback; } /** * Register a callback to be executed after rollback. * * @param callable $callback * @return void */ public function addCallbackForRollback($callback) { $this->callbacksForRollback[] = $callback; } /** * Execute all of the callbacks. * * @return void */ public function executeCallbacks() { foreach ($this->callbacks as $callback) { $callback(); } } /** * Execute all of the callbacks for rollback. * * @return void */ public function executeCallbacksForRollback() { foreach ($this->callbacksForRollback as $callback) { $callback(); } } /** * Get all of the callbacks. * * @return array */ public function getCallbacks() { return $this->callbacks; } /** * Get all of the callbacks for rollback. * * @return array */ public function getCallbacksForRollback() { return $this->callbacksForRollback; } }