private static function imageFromData(array $data) { $image = new Image(); if (isset($data["src"])) { $image->setSrc($data["src"]); } if (isset($data["type"])) { $image->setType($data["type"]); } if (isset($data["sizes"])) { $sizes = []; if (preg_match_all("/(\\d+)x(\\d+)/", $data["sizes"], $sizes)) { for ($i = 0; $i < count($sizes[0]); $i++) { $image->addSize($sizes[1][$i], $sizes[2][$i]); } } } return $image; }