backend = $backend; } /** * Saves (persists) the current setting values in the database. */ public function save($values) { $this->backend->save($values); self::clearCache(); } public function getStorageId() { return $this->backend->getStorageId(); } public function delete() { $this->backend->delete(); self::clearCache(); } public function load() { $cacheId = $this->getStorageId(); $cache = self::buildCache(); if ($cache->contains($cacheId)) { return $cache->fetch($cacheId); } $settings = $this->backend->load(); $cache->save($cacheId, $settings); return $settings; } public static function clearCache() { Tracker\Cache::deleteTrackerCache(); self::buildCache()->flushAll(); } public static function buildCache() { return PiwikCache::getEagerCache(); } }