Ben bu iki yöntem var
private function cacheAdd($id,$data)
{
$this->minicache->set($id,$data);
}
private function cacheGet($id)
{
return $this->minicache->get($id);
}
I öğeler önbelleğe olup olmadığını kontrol etmek isterseniz ben böyle bir şey yapmak zorunda, her zaman:
public function getFriendIds()
{
$info = $this->cache->minicache->getInfo("getFriendIds"); // if its an array then it is cached
if(is_array($info))
{
return $this->cache->cacheGet("getFriendIds"); // return the cached object
}
// from here items wasnt cached
else
{
$this->cache->cacheAdd("getFriendIds",$this->twitter->getFriendIds()); // so add to cache
return $this->cache->cacheGet("getFriendIds"); // and return the cached items
}
}
Ama bu hakkı yapmak için basit bir yöntem olduğunu düşünüyorum?
Ben böyle bir şey düşündüm:
$this->cache->docache($this->myitems());
ve yöntem docache sadece yöntemi alır ve madde zaten nasıl yapılabilir önbelleğe olup olmadığını dize ve kontrollere methodName dönüştürür?
EDIT:
Bu yöntemi uygulayan docache
public function docache($id,$data)
{
$info = $this->minicache->getInfo($id);
if(is_array($info))
{
return $this->cache->cacheGet($id); // return the cached object
}
else
{
$this->cacheAdd($id,$data); // so add to cache
return $this->cacheGet($id); // and return the cached items
}
}
ve i bunu yöntemi çağırmak istiyorum.
public function getFriendIds()
{
return $this->cache->docache("getFriendIds",$this->twitter->getFriendIds());
}
Hayır, bu çok küçük değil mi?