/** * Begin a transaction * @return void * @throws \Exception */ public function begin() { if ($this->isInTransaction()) { throw new \Exception('You cannot start a new transaction once you are already in one (Originally started at: ' . self::$stackTrace . ')'); } else { $e = new \Exception(); self::$stackTrace = $e->getTraceAsString(); } $transactionManager = new TransactionManager(); $transactionManager->setDbService($this->getDbService()); $this->setTransaction($transactionManager->get()); }
/** * Init engine. * * @param DI $di Dependency Injection. * * @return void */ protected function _initEngine($di) { $di->setShared('transactions', function () { $manager = new TxManager(); return $manager->setDbService("dbMaster"); }); }
public function setDbService($service) { return parent::setDbService($service); }