/** * Execute list of query within transaction * @param $handler */ public static function executeWithinTransaction($handler) { self::setAttrConsideringTransaction(); try { self::get()->beginTransaction(); (new ReflectionFunction($handler))->invoke(); self::get()->commit(); self::setAttrConsideringTransaction(false); } catch (PDOException $pe) { self::get()->rollBack(); Config::crash(self::getTextError($pe)); } }