$instanceId = $instanceId ? '/' . $instanceId : ''; } else { $instanceId = ''; } return $root . '/tmp' . $instanceId; }, 'path.cache' => DI\string('{path.tmp}/cache/tracker/'), 'Piwik\\Cache\\Eager' => function (ContainerInterface $c) { $backend = $c->get('Piwik\\Cache\\Backend'); $cacheId = $c->get('cache.eager.cache_id'); if (SettingsServer::isTrackerApiRequest()) { $eventToPersist = 'Tracker.end'; $cacheId .= 'tracker'; } else { $eventToPersist = 'Request.dispatch.end'; $cacheId .= 'ui'; } $cache = new Eager($backend, $cacheId); \Piwik\Piwik::addAction($eventToPersist, function () use($cache) { $cache->persistCacheIfNeeded(43200); }); return $cache; }, 'Piwik\\Cache\\Backend' => function (ContainerInterface $c) { try { $backend = $c->get('ini.Cache.backend'); } catch (NotFoundException $ex) { $backend = 'chained'; // happens if global.ini.php is not available } return \Piwik\Cache::buildBackend($backend); }, 'cache.eager.cache_id' => function () { return 'eagercache-' . str_replace(array('.', '-'), '', \Piwik\Version::VERSION) . '-'; }, 'Psr\\Log\\LoggerInterface' => DI\object('Psr\\Log\\NullLogger'), 'Piwik\\Translation\\Loader\\LoaderInterface' => DI\object('Piwik\\Translation\\Loader\\LoaderCache')->constructor(DI\get('Piwik\\Translation\\Loader\\JsonFileLoader')), 'observers.global' => array(), 'Piwik\\EventDispatcher' => DI\object()->constructorParameter('observers', DI\get('observers.global')));
public function findMultipleComponents($directoryWithinPlugin, $expectedSubclass) { $this->createCacheIfNeeded(); $cacheId = 'Plugin' . $this->pluginName . $directoryWithinPlugin . $expectedSubclass; if ($this->cache->contains($cacheId)) { $components = $this->cache->fetch($cacheId); if ($this->includeComponents($components)) { return $components; } else { // problem including one cached file, refresh cache } } $components = $this->doFindMultipleComponents($directoryWithinPlugin, $expectedSubclass); $this->cache->save($cacheId, $components); return $components; }
public function clearCache() { $this->cache->delete($this->cacheKey); }