public static preparePropertyFields ( $template, $fields ) |
public static function preparePropertyFields($template, $fields)
{
$templates = [];
foreach ($fields as $field) {
$fieldName = $field['name'];
$type = $field['type'];
$format = $field['format'];
$propertyTemplate = str_replace('$FIELD_NAME$', $fieldName, $template);
$description = $field['description'];
if (empty($description)) {
$description = $fieldName;
}
$propertyTemplate = str_replace('$DESCRIPTION$', $description, $propertyTemplate);
$propertyTemplate = str_replace('$FIELD_TYPE$', $type, $propertyTemplate);
if (!empty($format)) {
$format = ",\n * format=\"" . $format . '"';
}
$propertyTemplate = str_replace('$FIELD_FORMAT$', $format, $propertyTemplate);
$templates[] = $propertyTemplate;
}
return $templates;
}
public function generateSwagger($templateData) { $fieldTypes = SwaggerGenerator::generateTypes($this->commandData->inputFields); $template = TemplateUtil::getTemplate("model.model", 'swagger-generator'); $template = TemplateUtil::fillTemplate($this->commandData->dynamicVars, $template); $template = str_replace('$REQUIRED_FIELDS$', implode(", ", $this->generateRequiredFields()), $template); $propertyTemplate = TemplateUtil::getTemplate("model.property", 'swagger-generator'); $properties = SwaggerGenerator::preparePropertyFields($propertyTemplate, $fieldTypes); $template = str_replace('$PROPERTIES$', implode(",\n", $properties), $template); $templateData = str_replace('$DOCS$', $template, $templateData); return $templateData; }