From 65b93249a1dbc8f2361bf0121d333a8e5d14aa62 Mon Sep 17 00:00:00 2001 From: Grzegorz Surmann Date: Tue, 3 Sep 2024 00:31:20 +0200 Subject: [PATCH] moved to oop --- demo.php | 11 +++-- inc/Class.PHPCACHER.inc.php | 82 ++++++++++++++++++------------------- 2 files changed, 47 insertions(+), 46 deletions(-) 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); + } + } }