public static function from_array($class_name, $params) { // Transform the array to a person object and return it. $type = !empty($params['@type']) ? $params['@type'] : NULL; $subtype = !empty($params['@subtype']) ? $params['@subtype'] : NULL; $valid_since = !empty($params['@valid_since']) ? $params['@valid_since'] : NULL; $inferred = !empty($params['@inferred']) ? $params['@inferred'] : NULL; $instance = new self(array(), $type, $subtype, $valid_since, $inferred); $instance->add_fields($instance->fields_from_array($params)); return $instance; }