Webiny\Component\Rest\Compiler\Compiler::writeCacheFiles PHP Method

writeCacheFiles() public method

Based on the given ParsedApi instance, the method will create several cache file and update the cache index.
public writeCacheFiles ( ParsedApi $parsedApi )
$parsedApi Webiny\Component\Rest\Parser\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]);
    }

Usage Example

Example #1
0
 public function setUp()
 {
     Annotations::setConfig(__DIR__ . '/../Mocks/MockAnnotationsConfig.yaml');
     Rest::setConfig(__DIR__ . '/../Mocks/MockRestConfig.yaml');
     // we need to create the cache files so we can test the router
     $parser = new Parser();
     $parserApi = $parser->parseApi('Webiny\\Component\\Rest\\Tests\\Mocks\\MockApiClassRouter', true);
     self::$cache = new Cache(new ArrayDriver());
     $instance = new Compiler('ExampleApi', true, self::$cache);
     $instance->writeCacheFiles($parserApi);
 }
All Usage Examples Of Webiny\Component\Rest\Compiler\Compiler::writeCacheFiles