lutego 28
Cache - klasa do cachowania danych
Mam do zaprezentowania własną klasę do cachowania. Umożliwia ona obok podstawowej funkcji odczytywania danych z danym czasem ważności podział danych na grupy, usuwanie wybranych danych z cache, grupy, bądź całego cache, wybór sterowników (aktualnie utworzona jest jedna strategia - do zapisu do plików, jednak spełniając interfejs CacheDriver możemy napisać własny - np. do zapisu do pamięci czy bazy), prosty debugMode - włączenie spowoduje wyrzucanie wyjątków.
Kod sprawdzany na PHP 5.2.1, powinien uruchamiać się na każdym PHP5.
Klasa jest opublikowana na licencji GPL.
Przykład:
require_once 'cache.class.php';
require_once 'fileCacheDriver.class.php';
function getPrinters(){
return array('HP 845C', 'Canon E23', 'Lexmark L45');
}
try {
$cache=new Cache();
$cache->addDriver('file', new FileCacheDriver());
$printers=$cache->get('products', 'printers', 500); # zwraca dane z cache z grupy products o id printers
if($printers===false) { #nie ma danych w cache
$printers=getPrinters();
$cache->set('products', 'printers', $printers); #ustawia dane do cache
}
var_dump($printers);
}
catch (CacheException $e){
echo 'Error: '.$e->getMessage();
}



