for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace GNAHotelSolutions\ImageCacher;
class Manipulator
{
public static function create(string $format, string $path)
if ($format === Format::JPEG) {
return imagecreatefromjpeg($path);
}
if ($format === Format::PNG) {
return imagecreatefrompng($path);
if ($format === Format::GIF) {
return imagecreatefromgif($path);
if ($format === Format::WEBP) {
return imagecreatefromwebp($path);
throw new \Exception("Image type [{$format}] not supported.");
public static function save(string $format, $layout, string $name): string
return imagejpeg($layout, $name);
return imagepng($layout, $name);
return imagegif($layout, $name);
return imagewebp($layout, $name);