diff --git a/.gitignore b/.gitignore index 9f893291374..67e64d8cf69 100644 --- a/.gitignore +++ b/.gitignore @@ -193,6 +193,7 @@ samples/server/petstore/php-slim4/composer.lock samples/server/petstore/php-symfony/SymfonyBundle-php/composer.lock samples/server/petstore/php-mezzio-ph/composer.lock samples/server/petstore/php-mezzio-ph-modern/composer.lock +samples/client/petstore/php-nextgen/OpenAPIClient-php/.phplint.cache/ # ts samples/client/petstore/typescript-angular2/npm/npm-debug.log diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpNextgenClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpNextgenClientCodegen.java index ebea0814795..db4c29e32bc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpNextgenClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpNextgenClientCodegen.java @@ -170,7 +170,11 @@ public class PhpNextgenClientCodegen extends AbstractPhpCodegen { if (operation.returnType == null) { operation.vendorExtensions.putIfAbsent("x-php-return-type", "void"); } else { - operation.vendorExtensions.putIfAbsent("x-php-return-type", operation.returnType); + if (operation.returnProperty.isContainer) { // array or map + operation.vendorExtensions.putIfAbsent("x-php-return-type", "array"); + } else { + operation.vendorExtensions.putIfAbsent("x-php-return-type", operation.returnType); + } } for (CodegenParameter param : operation.allParams) { diff --git a/modules/openapi-generator/src/main/resources/php-nextgen/api.mustache b/modules/openapi-generator/src/main/resources/php-nextgen/api.mustache index b9098f049e5..c4a1faba7c6 100644 --- a/modules/openapi-generator/src/main/resources/php-nextgen/api.mustache +++ b/modules/openapi-generator/src/main/resources/php-nextgen/api.mustache @@ -187,7 +187,7 @@ use {{invokerPackage}}\ObjectSerializer; {{#vendorExtensions.x-group-parameters}} array $associative_array {{/vendorExtensions.x-group-parameters}} - ): {{vendorExtensions.x-php-return-type}} + ): {{{vendorExtensions.x-php-return-type}}} { {{#returnType}}list($response) = {{/returnType}}$this->{{operationId}}WithHttpInfo({{^vendorExtensions.x-group-parameters}}{{#allParams}}${{paramName}}, {{/allParams}}{{#servers}}{{#-first}}$hostIndex, $variables, {{/-first}}{{/servers}}$contentType{{/vendorExtensions.x-group-parameters}}{{#vendorExtensions.x-group-parameters}}$associative_array{{/vendorExtensions.x-group-parameters}});{{#returnType}} return $response;{{/returnType}} diff --git a/samples/client/petstore/php-nextgen/OpenAPIClient-php/phplint.dist.yml b/samples/client/petstore/php-nextgen/OpenAPIClient-php/phplint.dist.yml new file mode 100644 index 00000000000..3a1d5b715e9 --- /dev/null +++ b/samples/client/petstore/php-nextgen/OpenAPIClient-php/phplint.dist.yml @@ -0,0 +1,13 @@ +path: + - src/ + - tests/ +jobs: 10 +extensions: + - php +exclude: + - vendor +warning: true +memory-limit: -1 +no-cache: false +log-json: false +log-junit: false diff --git a/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/Api/PetApi.php b/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/Api/PetApi.php index d7bc09704eb..e90831e0c55 100644 --- a/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/Api/PetApi.php +++ b/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/Api/PetApi.php @@ -827,7 +827,7 @@ class PetApi public function findPetsByStatus( array $status, string $contentType = self::contentTypes['findPetsByStatus'][0] - ): \OpenAPI\Client\Model\Pet[] + ): array { list($response) = $this->findPetsByStatusWithHttpInfo($status, $contentType); return $response; @@ -1131,7 +1131,7 @@ class PetApi public function findPetsByTags( array $tags, string $contentType = self::contentTypes['findPetsByTags'][0] - ): \OpenAPI\Client\Model\Pet[] + ): array { list($response) = $this->findPetsByTagsWithHttpInfo($tags, $contentType); return $response; diff --git a/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/Api/StoreApi.php b/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/Api/StoreApi.php index 22a8d864b15..7af35028e6d 100644 --- a/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/Api/StoreApi.php +++ b/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/Api/StoreApi.php @@ -390,7 +390,7 @@ class StoreApi */ public function getInventory( string $contentType = self::contentTypes['getInventory'][0] - ): array<string,int> + ): array { list($response) = $this->getInventoryWithHttpInfo($contentType); return $response;