class; Image::checkSubClass($class); if (is_null($data) || $data == '') { throw new ErrorException('Empty data.'); } if (!is_array($data)) { $data = json_decode($data, true); if (json_last_error() != JSON_ERROR_NONE) { throw new ErrorException('Unable to convert json-string to array.'); } } foreach ($data as $item_data) { $this->append($class::getInstance($item_data)); } } }