php-symfony.model_generic.mustache Maven / Gradle / Ivy
class {{classname}} {{#parentSchema}}extends {{{parent}}} {{/parentSchema}}
{
{{#vars}}{{>model_variables}}
{{/vars}}
/**
* Constructor
* @param array|null $data Associated array of property values initializing the model
*/
public function __construct(array $data = null)
{
{{#parentSchema}}
parent::__construct($data);
{{/parentSchema}}
if (is_array($data)) {
{{#vars}}
$this->{{name}} = array_key_exists('{{name}}', $data) ? $data['{{name}}'] : $this->{{name}};
{{/vars}}
}
}
{{#vars}}
/**
* Gets {{name}}.
*
* @return {{{vendorExtensions.x-comment-type}}}
*/
public function {{getter}}(){{#vendorExtensions.x-parameter-type}}: {{vendorExtensions.x-parameter-type}}{{/vendorExtensions.x-parameter-type}}
{
return $this->{{name}};
}
{{#isEnumRef}}
/**
* Gets {{name}} for serialization.
*
* @return string|null
*/
public function getSerialized{{nameInCamelCase}}(): string|null
{
return $this->{{name}}?->value ? (string) $this->{{name}}->value : null;
}
{{/isEnumRef}}
{{#isContainer}}
{{#items}}
{{#isEnumRef}}
/**
* Gets {{name}} for serialization.
*
* @return array
*/
public function getSerialized{{nameInCamelCase}}(): array
{
return array_map(
static fn ($value) => (string) $value->value,
$this->test ?? []
);
}
{{/isEnumRef}}
{{/items}}
{{/isContainer}}
/**
* Sets {{name}}.
*
* @param {{{vendorExtensions.x-comment-type}}} ${{name}}{{#description}} {{{.}}}{{/description}}
*
* @return $this
*/
public function {{setter}}({{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{name}}{{^required}} = null{{/required}}): self
{
$this->{{name}} = ${{name}};
return $this;
}
{{/vars}}
}