ClearObjects

2012-11-28 13:31:31 Post #1 guest_Graft

 
Witam,
Mam taką funkcje w klasie:

<code>
function cache_query($zapytanie) {
try {
$cache = new Cache();
$cache->AddDriver('fileDriver',new CacheFileDriver('Cache'));

//Stworzenie grupy queries. Do niej beda wkladane wyniki zapytan.Id beda hashowane.
//Obsluguje ja CacheFileDriver. Czas zycia 5 minut
$cache->AddGroup('@queries', array(
'lifetime'=>300,
'driver'=>'fileDriver',
'hashid'=>true));

//Obiekt nalezy do grupy queries
$val = $cache->Get($zapytanie, '@queries');
if (is_null($val)){
try {
$stmt = $this->pdo -> prepare($zapytanie);
$stmt -> execute();
}
catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
$stmt = $stmt->fetchAll();
$cache->Put($zapytanie, $stmt, '@queries');
return $stmt;
}
else {
return $val;
}
}
catch (CacheException $e){
echo '<span style="color:red">'.$e->getMessage().'</span>';
}
}
</code>

i nie wiem jak mam wyczyścić dany obiekt w grupie @quaries korzystając z innej klasy ?

np:
mam klasę która dodaje użytkownika i chciałbym aby wtedy czyściła zapytania o użytkowników.

Próbowałem tak aby zobaczyc czy wogole cos usunie ale mi nie wychodzi:

<code>
function clearCache() {
try {
$cache = new Cache();
$cache->AddDriver('fileDriver',new CacheFileDriver('Cache'));

$cache->ClearAll();
}
catch (CacheException $e){
echo '<span style="color:red">'.$e->getMessage().'</span>';
}
}
<./code>

Pozdrawiam

2012-11-28 13:42:04 Post #2 nospor

 
Obiekt $cache ma być obiektem ogólno dostępnym dla każdej klasy, a nie że każda klasa robi swój własny $cache.
Na początku aplikacji masz zadeklarować obiekt $cache i każdy kto chce ma z niego korzystać.

Answer

Categories

  1. wszystkie wszystkie komentarze all (1)