tx = array(); } public function commit() { } public function rollback() { foreach($this->tx as $k => $v) $this->data[$k] = $v; } public function __set($k, $v) { if(!isset($this->data[$k])) $this->data[$k] = null; if(!isset($this->tx[$k])) $this->tx[$k] = $this->data[$k]; $this->data[$k] = $v; } //... ?>