/** * 保存数据池 */ public function save() { $db = $this->_db_connection; $dbs_arr = $this->_db_actives; $debug_db = C(Constants::DEBUG_DB, null, false); $debug_arr = []; if ($debug_db) { $debug_arr = CommonUtilArray::getvalue($GLOBALS, Config::DEBUG_DB_DIRTY_KEY, array())->value(); } foreach ($dbs_arr as $value) { if (!$value instanceof BaseDataDBCell) { continue; } if ($debug_db && $value->is_dirty()) { $dbinfo = array('classname' => get_class($value), 'info' => $value->get_dirty_key()); } $bsave = $value->saveToDB($db); if ($debug_db && $bsave) { array_push($debug_arr, $dbinfo); } } if ($debug_db && !empty($debug_arr)) { $GLOBALS[Config::DEBUG_DB_DIRTY_KEY] = $debug_arr; } $this->_db_actives = []; }
/** * 数据库快照 * * @param string $flag */ function db_snapshot($flag = null) { $flag = strval($flag); $this->_db_snapshot[$flag] = CommonUtilArray::clone_array($this->_data_contains); }