/** * Based on the given ParsedApi instance, the method will create several cache file and update the * cache index. * * @param ParsedApi $parsedApi */ public function writeCacheFiles(ParsedApi $parsedApi) { $writtenCacheFiles = []; // first delete the cache foreach ($parsedApi->versions as $v => $parsedClass) { $this->cache->deleteCache($this->api, $parsedApi->apiClass); } // then build the cache foreach ($parsedApi->versions as $v => $parsedClass) { $compileArray = $this->compileCacheFile($parsedClass, $v); $this->cache->writeCacheFile($this->api, $parsedApi->apiClass, $v, $compileArray); $writtenCacheFiles[$v] = $compileArray; } // write current and latest versions (just include return a specific version) $this->cache->writeCacheFile($this->api, $parsedApi->apiClass, 'latest', $writtenCacheFiles[$parsedApi->latestVersion]); $this->cache->writeCacheFile($this->api, $parsedApi->apiClass, 'current', $writtenCacheFiles[$parsedApi->currentVersion]); }