cacheDuration = new \DateInterval($cacheDuration); } public function generateQRCodeFromEntity(QRCode $entity): string { $key = $this->innerGenerator->getCacheKey($entity); return $this->cache->get($key, function(ItemInterface $c) use ($entity) { $this->logger->debug("cache miss for key " . $c->getKey(), [ 'entity' => $entity, ]); $c->expiresAfter($this->cacheDuration); return $this->innerGenerator->generateQRCodeFromEntity($entity); }); } }