moved to oop

This commit is contained in:
Grzegorz Surmann 2024-09-03 00:31:20 +02:00
parent 3036974d3e
commit 65b93249a1
2 changed files with 47 additions and 46 deletions

View File

@ -3,9 +3,12 @@
require_once("inc/config.inc.php"); require_once("inc/config.inc.php");
require_once("inc/Class.PHPCACHER.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 "String: \"".$item1."\"\n";
print "\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"));

View File

@ -1,57 +1,55 @@
<?php <?php
class PHPCACHER { class PHPCACHER {
static function isCached($item) { public function put($item,$data) {
global $phpcacher_ttl; file_put_contents($this->fileName($item),serialize($data));
global $phpcacher_path;
if ( !isset($phpcacher_ttl) ) { $phpcacher_ttl=3600; };
if ( !isset($phpcacher_path) ) { $phpcacher_path="./cache"; };
$file=$phpcacher_path."/".md5($item).".data";
if ( file_exists($file) ) {
return TRUE;
}
}
static function isValid($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 ( filemtime($file) > 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));
return TRUE; return TRUE;
} }
static function get($item) { public function get($item) {
global $phpcacher_ttl; if ( $this->isCached($item) && $this->isValid($item) ) {
global $phpcacher_path; return unserialize(file_get_contents($this->filename($item)));
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));
}
} }
return FALSE; return FALSE;
} }
static function del($item) { public function del($item) {
global $phpcacher_path; if ( file_exists($this->fileName($item)) ) {
if ( !isset($phpcacher_path) ) { $phpcacher_path="./cache"; }; unlink($this->fileName($item));
$file=$phpcacher_path."/".md5($item).".data";
if ( self::isCached($item) ) {
@unlink($file);
} }
return TRUE; 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 { 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);
}
}
} }