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