public function replace($key, $var = null, $flag = 0, $exptime = 0) { if ($this->logging) { $start = microtime(true); $name = 'replace'; $arguments = array($key, $var, $flag, $exptime); } list($_key, $_var, $_flag, $_exptime) = array($key, $var, $flag, $exptime); $result = parent::replace($_key, $_var, $_flag, $_exptime); list($key, $var, $flag, $exptime) = array($_key, $_var, $_flag, $_exptime); if ($this->logging) { $time = microtime(true) - $start; $this->calls[] = (object) compact('start', 'time', 'name', 'arguments', 'result'); } return $result; }