Cache metoda na získání času vytvoření cache
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Filip Procházka
- Moderator | 4668
Zdravím,
jak už název vypovídá…
Myslím, že by se hodila metoda na získání času vytvoření cache :)
$cache['klic'] = array('pozdrav' => 'čauky');
$cache->getCreatedTime('klic'); // @return DateTime|int
- kravčo
- Člen | 721
Odporúčam, aby si si veci, ktoré sa ti hodia, doprogramoval sám a publikoval (web/blog/fórum/pullrequest). Myslím, že je málo takých, ktorí majú čas pochopiť a implementovať niečo, čo sa hodí tebe, ani v prípade že je to fakt jednoduché:
<?php
// Čas vytvorenia keše,
// prípadne posledného načítania v prípade použitia Cache::SLIDING
class FileStorageWithTime1 extends \Nette\Caching\FileStorage
{
public function getCreateTime($key)
{
return filemtime($this->getCacheFile($key));
}
}
Alebo inak:
<?php
// Čas vytvorenia keše, vo všetkých prípadoch
class FileStorageWithTime2 extends \Nette\Caching\FileStorage
{
public function read($key)
{
list($data, ) = parent::read($key);
return $data;
}
public function write($key, $data, array $dp)
{
parent::write($key, array($data, time()), $dp);
}
public function getCreateTime($key)
{
list(, $time) = parent::read($key);
return $time;
}
}
- Filip Procházka
- Moderator | 4668
Vidíš to mě nenapadlo! A takové pěkné řešení :) měl bych se jít vyspat…