directory = rtrim($dir, '/\\'); @mkdir($this->directory); } protected function doFetch($id) { if (!$this->doContains($id)) { return null; } return unserialize(file_get_contents($this->getFilename($id))); } protected function doContains($id) { return file_exists($this->getFilename($id)); } protected function doSave($id, $data, $lifeTime = 0) { $filename = $this->getFilename($id); $result = @file_put_contents($filename, serialize($data)); if ($result === false) { throw new \RuntimeException("Error while writing to '$filename'"); } } protected function doDelete($id) { @unlink($this->getFilename($id)); } protected function doFlush() { foreach (glob($this->directory . DIRECTORY_SEPARATOR . '*') as $filename) { if (is_file($filename)) { @unlink($filename); } } } protected function doGetStats() { return null; } private function getFilename($id) { return $this->directory . DIRECTORY_SEPARATOR . md5($id); } }