public function createSchema($schemaFile) { $cacheKey = hash('sha1', $schemaFile); $item = $this->cache->getItem($cacheKey); if ($item->isHit()) { $schema = $item->get(); } else { $schema = $this->schemaFactory->createSchema($schemaFile); $this->cache->save($item->set($schema)); } return $schema; }
/** * @param HttpClient $httpClient * @param SchemaFactory $schemaFactory * @param $schemaFile * @param array $config * * @return ApiService */ public function getService(HttpClient $httpClient, SchemaFactory $schemaFactory, $schemaFile, $config = []) { $schema = $schemaFactory->createSchema($schemaFile); return new ApiService($this->uriFactory, $this->uriTemplate, $httpClient, $this->messageFactory, $schema, new MessageValidator($this->validator, $this->decoder), $this->serializer, $config); }