From 0032e045301cd741758c90dc82ec8c37fa721ecd Mon Sep 17 00:00:00 2001 From: Artem Date: Thu, 30 Apr 2020 21:03:05 +0200 Subject: [PATCH] [php-symfony] Fix return type in model setters. (#6085) * Fix return type in model setters. Previously return type was same, as method arguments. It`s wrong, and cause errors like "Return value of Foo::setSuccess() must be of the type bool, object returned" We cant use self and current {{classname}} as return type, because that can break class inheritance. So, better remove type hint on setters, until PHP-devs dont make realization for return static * Add return self type hint for setters * Revert "Add return self type hint for setters" This reverts commit 07dd9715 --- .../src/main/resources/php-symfony/model_generic.mustache | 2 +- .../petstore/php-symfony/SymfonyBundle-php/Model/Order.php | 2 +- .../petstore/php-symfony/SymfonyBundle-php/Model/Pet.php | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/php-symfony/model_generic.mustache b/modules/openapi-generator/src/main/resources/php-symfony/model_generic.mustache index 15b9cedab671..54b34b9f903d 100644 --- a/modules/openapi-generator/src/main/resources/php-symfony/model_generic.mustache +++ b/modules/openapi-generator/src/main/resources/php-symfony/model_generic.mustache @@ -35,7 +35,7 @@ class {{classname}} {{#parentSchema}}extends {{{parent}}} {{/parentSchema}} * * @return $this */ - public function {{setter}}({{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{name}}{{^required}} = null{{/required}}){{#vendorExtensions.x-parameter-type}}: {{^required}}?{{/required}}{{vendorExtensions.x-parameter-type}}{{/vendorExtensions.x-parameter-type}} + public function {{setter}}({{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{name}}{{^required}} = null{{/required}}) { $this->{{name}} = ${{name}}; diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Order.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Order.php index 1dce20ccc27a..c79445f90cfd 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Order.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Order.php @@ -197,7 +197,7 @@ public function getShipDate(): ?\DateTime * * @return $this */ - public function setShipDate(\DateTime $shipDate = null): ?\DateTime + public function setShipDate(\DateTime $shipDate = null) { $this->shipDate = $shipDate; diff --git a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Pet.php b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Pet.php index cd9d321ca4af..d97cfb942a4a 100644 --- a/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Pet.php +++ b/samples/server/petstore/php-symfony/SymfonyBundle-php/Model/Pet.php @@ -155,7 +155,7 @@ public function getCategory(): ?Category * * @return $this */ - public function setCategory(Category $category = null): ?Category + public function setCategory(Category $category = null) { $this->category = $category; @@ -203,7 +203,7 @@ public function getPhotoUrls(): array * * @return $this */ - public function setPhotoUrls(array $photoUrls): array + public function setPhotoUrls(array $photoUrls) { $this->photoUrls = $photoUrls; @@ -227,7 +227,7 @@ public function getTags(): ?array * * @return $this */ - public function setTags(array $tags = null): ?array + public function setTags(array $tags = null) { $this->tags = $tags;