ttl = (int) $ttl; $this->cache = PiwikCache::getLazyCache(); } /** * Function to fetch a cache entry * * @param string $id The cache entry ID * @return array|bool False on error, or array the cache content */ public function fetch($id) { if (empty($id)) { return false; } if (array_key_exists($id, self::$staticCache)) { return self::$staticCache[$id]; } if (!$this->cache->contains($id)) { return false; } return $this->cache->fetch($id); } /** * A function to store content a cache entry. * * @param string $id The cache entry ID * @param array $content The cache content * @throws \Exception * @return bool True if the entry was successfully stored */ public function save($id, $content, $ttl=0): bool { if (empty($id)) { return false; } self::$staticCache[$id] = $content; return (bool) $this->cache->save($id, $content, $this->ttl); } public function contains($id): bool { return !empty(self::$staticCache[$id]) && $this->cache->contains($id); } public function delete($id): bool { if (empty($id)) { return false; } unset(self::$staticCache[$id]); return (bool) $this->cache->delete($id); } public function flushAll(): bool { return (bool) $this->cache->flushAll(); } }