[PHP] PHPdoc Enum types
Created by: emajo
Bug Report Checklist
-
Have you provided a full/minimal spec to reproduce the issue? -
Have you validated the input using an OpenAPI validator (example)? -
Have you tested with the latest master to confirm the issue still exists? -
Have you searched for related issues/PRs? -
What's the actual output vs expected output? -
[Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
In the generated classes if an attribute is an enum, in its getter/setter, the phpdoc type is the class that contains the constants with the enum values instead of string:
enum class:
class Enum
{
/**
* Possible values of this enum
*/
const FIRST = 'first';
const SECOND = 'second';
Attribute setter(Enum type):
/**
* Sets type
*
* @param \Proj\Model\Enum|null $type type
*
* @return self
*/
public function setType($type)
{
$this->container['type'] = $type;
return $this;
}
Here we set the property:
$obj->setType(Enum::FIRST);
As you can see the actual type passed is string and not Enum, so we will get a warning from the IDE. So the phpdoc of the setter should be:
/**
* Sets type, see the accepted values in the Enum class
*
* @param string|null $type type
*
* @return self
*/
public function setType($type)
{
$this->container['type'] = $type;
return $this;
}
openapi-generator version
5.4.0