cacheActif = $cacheActif; $this->service = $service; $this->chargerDureeCache(); $this->serviceNom = $serviceNom; $this->cache = new CacheSimple(array( "mise_en_cache" => true, "stockage_chemin" => Config::get("chemincache"), "duree_de_vie" => $this->dureecache )); } public function chargerDureeCache() { if ($this->cacheActif == "1") { $this->dureecache = $this->service->getDureeCache(); } } public function consulter($ressources, $parametres) { $id = $this->genererID($ressources, $parametres); $retour = unserialize($this->cache->charger($id)); if ($retour == false) { $retour = $this->mettreEnCache($ressources, $parametres); } return $retour; } public function mettreEnCache($ressources, $parametres) { $retour = $this->service->consulter($ressources, $parametres); $id = $this->genererID($ressources, $parametres); if ($this->dureecache > 0) { $this->cache->sauver(serialize($retour), $id); } return $retour; } public function genererID($ressources, $parametres) { $chaineRessources = ""; $chaineParametres = ""; if (count($ressources) > 0) { foreach ($ressources as $key => $val) { $chaineRessources .= "$key:$val;"; } } if (count($parametres) > 0) { foreach ($parametres as $key => $val) { $chaineParametres .= "$key:$val;"; } } $chaineMD5 = $this->serviceNom.'/'.md5($chaineRessources.$chaineParametres); return $chaineMD5; } } ?>