GetExportVariable(); if(!$APPEL){ $APPEL = sprintf($_CFG['NOM_FICHIER_GENERE'], $VarCache); } // return false; // echobr($APPEL); switch($type){ case "save": $temp = array(); foreach($Obj as $k=>$v){ $temp[$k] = $v; } $GLOBALS[$APPEL][$Obj->GetId()] = $temp; return true; break; case "test": if(isset($GLOBALS[$APPEL][$Obj->GetId()])){ return true; }else{ return false; } break; case "load": if(!CacheFile($Obj,"test")){ return false; } foreach($GLOBALS[$APPEL][$Obj->GetId()] as $k=>$v){ $k = "Set".ucfirst($k); // echobr($k); $Obj->{$k}($v); // echobr("-".$k); } return true; break; case "show": break; } return false; } /** * @return booleen * @param $Obj : Objet pour le cache Necessite la presence de la methode GetId() renvoyant l'identifiant de l'objet * @param $type : Type de traitement de cache a effectuer ("save","load","test") * @desc Traitement du cache memoire **/ function Cache(&$Obj,$type = "load"){ static $CacheTab; switch($type){ case "save": $temp = array(); foreach($Obj as $k=>$v){ $temp[$k] = $v; } $CacheTab[get_class($Obj)][$Obj->GetId()] = $temp; return true; break; case "test": if(isset($CacheTab[get_class($Obj)][$Obj->GetId()])){ return true; }else{ return false; } break; case "load": if(!Cache($Obj,"test")){ echo "Inconnu
"; return false; } foreach($CacheTab[get_class($Obj)][$Obj->GetId()] as $k=>$v){ $k = ucfirst($k); $Obj->{$k}=$v; } return true; break; case "show": break; } } ?>