imageDb->findImage($path, $params)) { $this->logger->info("Found existing image", ['path'=>$path, 'params'=>$params]); header("Content-type: {${$image->getMime()}}"); return base64_decode($image->encode(75)); } // Fetch the image at the given URL $original_img = Image::fromUrl($_ENV['ROOT_DOMAIN'] . $path); $converted = $this->createVariant($original_img, $params); $this->logger->info("Created variant", ['path'=>$path, 'params'=>$params]); // Store the image in the database $this->imageDb->saveImage( $path, $params, $converted ); $this->logger->info("Saved image", ['path'=>$path, 'params'=>$params]); header("Content-type: {$original_img->getMime()}"); return base64_decode($converted); } private function createVariant(Image $original, ResizeParams $params): string { $quality = $params->quality ?: -1; $this->logger->info("Resizing image", ['params'=>$params]); $original->toWidth($params->width ?? intval($_ENV["DEFAULT_WIDTH"])); return $original->encode($quality); } }