Predani dalsich parametru pri volani Cache::call()

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
arron
Člen | 464
+
0
-

Kdyz jsem videl novy commit s funkci Cache::call($function), tak me napadlo, ze by bylo super, kdyby se daly predat dalsi parametry (tagy atd…).

David Grudl
Nette Core | 8218
+
0
-

To je takový rychlý způsob jak kešovat výsledky funkcí (např. getHostByAddr) a tam se asi moc tagy neuplatní.

Filip Procházka
Moderator | 4668
+
0
-

jaktože ne? mám někde v modelu práci s třeba adresami, tak si to otaguju abych věděl, že to patří pod adresy a když něco aktualizuju, tak smažu cache adres?

arron
Člen | 464
+
0
-

David Grudl napsal(a):

To je takový rychlý způsob jak kešovat výsledky funkcí (např. getHostByAddr) a tam se asi moc tagy neuplatní.

Prave, ze me to prijde hrozne super, protoze v podstate presne tenhle kod se mi na nekolika mistech opakuje a nebavi me to psat porad dokola (a pak ro refaktorovat kvuli duplicitam). Ale zpravidla nastavuji dalsi ruzne parametry, primarne tagy, takze tato verze je pro me nepouzitelna. A to mi prijde skoda, kdyz by asi nebyl problem tomu dodelat nepovinne parametry:-)

kravčo
Člen | 721
+
0
-

HosipLan napsal(a):

jaktože ne? mám někde v modelu práci s třeba adresami, tak si to otaguju abych věděl, že to patří pod adresy a když něco aktualizuju, tak smažu cache adres?

Na to predsa ide použiť Cache namespace, nie? A podľa mňa je aj presne na toto určený:

<?php

/**
 * Resolves ip if possible.
 * @param string  ip address to resolve
 * @return string  resolved hostname (or ip parameter if resolution failed)
 */
function resolveIp($ip)
{
    $addrcache = new \Nette\Environment::getCache('DataModel.Resolver');
    return $addrcache->call('gethostbyaddr', $ip);
}
Filip Procházka
Moderator | 4668
+
0
-

Máš pravdu, to mě nenapadlo :)