public static function from_array(array $data) { $demo = new self($data['id']); $demo->set_screenshot($data['screenshot']); $demo->set_source_type($data['source_type']); $demo->set_source_args($data['source_args']); $demo->set_extra(isset($data['extra']) ? $data['extra'] : array()); return $demo; }