diff --git a/demo.php b/demo.php index 864dde3..3d0c802 100644 --- a/demo.php +++ b/demo.php @@ -3,9 +3,12 @@ require_once("inc/config.inc.php"); require_once("inc/Class.PHPCACHER.inc.php"); -$item1="Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."; +$item1="Lorem ipsum dolor sit amet"; -Cache::put("lorem",$item1); +$cache = new Cache(); -print_r(Cache::get("lorem")); -print "\n"; +print "String: \"".$item1."\"\n"; +print "Put: "; var_dump($cache->put("lorem",$item1)); +print "Get: "; var_dump($cache->get("lorem")); +print "Del: "; var_dump($cache->del("lorem")); +print "Get: "; var_dump($cache->get("lorem")); diff --git a/inc/Class.PHPCACHER.inc.php b/inc/Class.PHPCACHER.inc.php index dd57724..5504199 100644 --- a/inc/Class.PHPCACHER.inc.php +++ b/inc/Class.PHPCACHER.inc.php @@ -1,57 +1,55 @@ time()-$phpcacher_ttl ) { - return TRUE; - } - } - static function put($item,$data) { - global $phpcacher_path; - if ( !isset($phpcacher_path) ) { $phpcacher_path="./cache"; }; - @mkdir($phpcacher_path,0755,TRUE); - $file=$phpcacher_path."/".md5($item).".data"; - file_put_contents($file,serialize($data)); + public function put($item,$data) { + file_put_contents($this->fileName($item),serialize($data)); return TRUE; } - static function get($item) { - global $phpcacher_ttl; - global $phpcacher_path; - if ( !isset($phpcacher_ttl) ) { $phpcacher_ttl=3600; }; - if ( !isset($phpcacher_path) ) { $phpcacher_path="./cache"; }; - $file=$phpcacher_path."/".md5($item).".data"; - if ( self::isCached($item) ) { - if ( self::isValid($item) ) { - return unserialize(file_get_contents($file)); - } + public function get($item) { + if ( $this->isCached($item) && $this->isValid($item) ) { + return unserialize(file_get_contents($this->filename($item))); } return FALSE; } - static function del($item) { - global $phpcacher_path; - if ( !isset($phpcacher_path) ) { $phpcacher_path="./cache"; }; - $file=$phpcacher_path."/".md5($item).".data"; - if ( self::isCached($item) ) { - @unlink($file); + public function del($item) { + if ( file_exists($this->fileName($item)) ) { + unlink($this->fileName($item)); } return TRUE; } + private function isCached($item) { + if ( file_exists($this->fileName($item)) ) { + return TRUE; + } + return FALSE; + } + private function isValid($item) { + if ( filemtime($this->fileName($item)) > time()-$this->cachettl ) { + return TRUE; + } + return FALSE; + } + private function fileName($item) { + return $this->cachepath."/".md5($item).".data"; + } } class Cache extends PHPCACHER { + function __construct() { + global $phpcacher_ttl; + if ( isset($phpcacher_ttl) ) { + $this->cachettl=$phpcacher_ttl; + } else { + $this->cachettl=3600; + } + global $phpcacher_path; + if ( isset($phpcacher_path) ) { + $this->cachepath=$phpcacher_path; + } else { + $this->cachepath="./cache"; + } + if ( !file_exists($this->cachepath) ) { + mkdir($this->cachepath,0755,TRUE); + } + } }