From e0f22f29ec8f6c56a0cc498e762fd14241151988 Mon Sep 17 00:00:00 2001 From: Sumit Chauhan Date: Mon, 28 Apr 2025 23:37:42 +0530 Subject: [PATCH 1/9] feat(php): add declareStrictTypes option in AbstractPhpCodegen.java --- .../org/openapitools/codegen/languages/AbstractPhpCodegen.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index 35a411d708ae..e197eb935f1e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -69,6 +69,7 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg protected String interfaceNamePrefix = "", interfaceNameSuffix = "Interface"; protected String abstractNamePrefix = "Abstract", abstractNameSuffix = ""; protected String traitNamePrefix = "", traitNameSuffix = "Trait"; + protected boolean declareStrictTypes = false; private Map schemaKeyToModelNameCache = new HashMap<>(); From fad58e3f33d630053ad9ac777d735fcacc0759bb Mon Sep 17 00:00:00 2001 From: Sumit Chauhan Date: Mon, 28 Apr 2025 23:45:31 +0530 Subject: [PATCH 2/9] Added declareStrictTypes property to processOpts() for template use in AbstractPhpCodegen.java --- .../openapitools/codegen/languages/AbstractPhpCodegen.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index e197eb935f1e..ebb9581ff34a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -286,6 +286,11 @@ public void processOpts() { // all PHP codegens requires Composer, it means that we need to exclude from SVN at least vendor folder supportingFiles.add(new SupportingFile("gitignore", "", ".gitignore")); + // Add declareStrictTypes property to the additionalProperties + if (additionalProperties.containsKey("declareStrictTypes")) { + this.declareStrictTypes = Boolean.parseBoolean(additionalProperties.get("declareStrictTypes").toString()); + } + additionalProperties.put("declareStrictTypes", declareStrictTypes); } public String toSrcPath(final String packageName, final String basePath) { From 63957e8a903e9bf10d024ac705f780b5c5184435 Mon Sep 17 00:00:00 2001 From: Sumit Chauhan Date: Tue, 29 Apr 2025 04:30:46 +0530 Subject: [PATCH 3/9] add getHelp() method to document the new option --- .../codegen/languages/AbstractPhpCodegen.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index ebb9581ff34a..81068295053d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -573,6 +573,14 @@ public String toInterfaceName(final String name) { public String toAbstractName(final String name) { return camelize(abstractNamePrefix + name + abstractNameSuffix); } + +@Override +public String getHelp() { + return "Generates a PHP client library." + "\n" + + "Options:\n" + + " - declareStrictTypes: boolean, set to true to add declare(strict_types=1); in generated PHP files."; +} + /** * Output the proper trait name (capitalized). From cd4fd1236b5bc8da5d215e2eebee7d02cffe2249 Mon Sep 17 00:00:00 2001 From: Sumit Chauhan Date: Tue, 29 Apr 2025 04:34:50 +0530 Subject: [PATCH 4/9] Updated PHP templates (.mustache files) to include declare(strict_types=1); after Date: Tue, 29 Apr 2025 04:35:52 +0530 Subject: [PATCH 5/9] Updated PHP templates (.mustache files) to include declare(strict_types=1); after Date: Tue, 29 Apr 2025 04:37:02 +0530 Subject: [PATCH 6/9] Updated PHP templates (.mustache files) to include declare(strict_types=1); after Date: Tue, 29 Apr 2025 04:37:59 +0530 Subject: [PATCH 7/9] Updated PHP templates (.mustache files) to include declare(strict_types=1); after Date: Tue, 29 Apr 2025 04:39:09 +0530 Subject: [PATCH 8/9] Updated PHP templates (.mustache files) to include declare(strict_types=1); after Date: Tue, 29 Apr 2025 04:39:54 +0530 Subject: [PATCH 9/9] Updated PHP templates (.mustache files) to include declare(strict_types=1); after