/** * Cоздаёт экземпляры классов AcImageJPG, AcImageGIF, AcImagePNG * в зависимости от типа изображения. * * @param string путь к файлу с изображением * @return AcImageJPG|AcImagePNG|AcImageGIF */ public static function createImage($filePath) { $image = new AcImage($filePath); if (!self::isSupportedGD()) { throw new GDNotInstalledException(); } $imageInfo = $image->getImageInfo(); if (!is_array($imageInfo)) { throw new InvalidFileException($filePath); } $mimeType = $imageInfo['mime']; switch ($mimeType) { case self::JPEG: return new AcImageJPG($filePath); case self::PNG: return new AcImagePNG($filePath); case self::GIF: return new AcImageGIF($filePath); default: throw new InvalidFileException($filePath); } }