cacheProvider = $cacheProvider; } /** * @return Cache */ public function getCacheProvider() { return $this->cacheProvider; } /** * @param Cache $cacheProvider * * @return DiffCache */ public function setCacheProvider($cacheProvider) { $this->cacheProvider = $cacheProvider; return $this; } /** * @param string $oldText * @param string $newText * * @return bool */ public function contains($oldText, $newText) { return $this->cacheProvider->contains($this->getHashKey($oldText, $newText)); } /** * @param string $oldText * @param string $newText * * @return string */ public function fetch($oldText, $newText) { return $this->cacheProvider->fetch($this->getHashKey($oldText, $newText)); } /** * @param string $oldText * @param string $newText * @param string $data * @param int $lifeTime * * @return bool */ public function save($oldText, $newText, $data, $lifeTime = 0) { return $this->cacheProvider->save($this->getHashKey($oldText, $newText), $data, $lifeTime); } /** * @param string $oldText * @param string $newText * * @return bool */ public function delete($oldText, $newText) { return $this->cacheProvider->delete($this->getHashKey($oldText, $newText)); } /** * @return array|null */ public function getStats() { return $this->cacheProvider->getStats(); } /** * @param string $oldText * @param string $newText * * @return string */ protected function getHashKey($oldText, $newText) { return sprintf('%s_%s', md5($oldText), md5($newText)); } }