From c9a6b84b7d1ef72a2cf0c98b68b98abd90df52f8 Mon Sep 17 00:00:00 2001 From: spinillos Date: Fri, 24 Oct 2025 16:13:14 +0200 Subject: [PATCH 1/2] Fix constant refrences format and add missing option for PHP templates --- internal/jennies/php/rawtypes.go | 10 ++++++---- internal/jennies/php/types.go | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/internal/jennies/php/rawtypes.go b/internal/jennies/php/rawtypes.go index 83d71a99d..36f74a62a 100644 --- a/internal/jennies/php/rawtypes.go +++ b/internal/jennies/php/rawtypes.go @@ -33,10 +33,12 @@ func (jenny RawTypes) Generate(context languages.Context) (codejen.Files, error) files := make(codejen.Files, 0, len(context.Schemas)) jenny.shaper = &shape{context: context} - jenny.tmpl = jenny.tmpl.Funcs(templateHelpers(templateDeps{ - config: jenny.config, - context: context, - })) + jenny.tmpl = jenny.tmpl. + Funcs(templateHelpers(templateDeps{ + config: jenny.config, + context: context, + })). + Funcs(common.TypesTemplateHelpers(context)) // generate typehints with a compiler pass context.Schemas, err = (&AddTypehintsComments{config: jenny.config}).Process(context.Schemas) diff --git a/internal/jennies/php/types.go b/internal/jennies/php/types.go index ba0c0e1db..79e1f5033 100644 --- a/internal/jennies/php/types.go +++ b/internal/jennies/php/types.go @@ -260,7 +260,7 @@ func (formatter *typeFormatter) constantRefValue(def ast.ConstantReferenceType) return formatter.formatEnumValue(obj, def) } if obj.Type.IsScalar() { - return formatter.config.fullNamespaceRef(formatPackageName(def.ReferredPkg) + "\\" + formatObjectName(def.ReferredType)) + return formatter.config.fullNamespaceRef(formatPackageName(def.ReferredPkg) + "\\Constants::" + formatConstantName(def.ReferredType)) } return "unknown" From 648c3744a74c0ad261b8dddc8707f5215b457809 Mon Sep 17 00:00:00 2001 From: spinillos Date: Fri, 24 Oct 2025 16:25:35 +0200 Subject: [PATCH 2/2] Update tests --- .../PHPRawTypes/src/ConstantReferenceAsDefault/MyStruct.php | 4 ++-- .../ConstantReferenceDiscriminator/GridLayoutUsingValue.php | 2 +- .../ConstantReferenceDiscriminator/GridLayoutWithoutValue.php | 2 +- .../ConstantReferenceDiscriminator/RowsLayoutUsingValue.php | 2 +- .../ConstantReferenceDiscriminator/RowsLayoutWithoutValue.php | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/testdata/jennies/rawtypes/constant_reference_as_default/PHPRawTypes/src/ConstantReferenceAsDefault/MyStruct.php b/testdata/jennies/rawtypes/constant_reference_as_default/PHPRawTypes/src/ConstantReferenceAsDefault/MyStruct.php index 2c207d570..7897e760b 100644 --- a/testdata/jennies/rawtypes/constant_reference_as_default/PHPRawTypes/src/ConstantReferenceAsDefault/MyStruct.php +++ b/testdata/jennies/rawtypes/constant_reference_as_default/PHPRawTypes/src/ConstantReferenceAsDefault/MyStruct.php @@ -10,8 +10,8 @@ class MyStruct implements \JsonSerializable public function __construct() { - $this->aString = \Grafana\Foundation\ConstantReferenceAsDefault\ConstantRefString; - $this->optString = \Grafana\Foundation\ConstantReferenceAsDefault\ConstantRefString; + $this->aString = \Grafana\Foundation\ConstantReferenceAsDefault\Constants::CONSTANT_REF_STRING; + $this->optString = \Grafana\Foundation\ConstantReferenceAsDefault\Constants::CONSTANT_REF_STRING; } /** diff --git a/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/GridLayoutUsingValue.php b/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/GridLayoutUsingValue.php index 93641ad02..887486ac3 100644 --- a/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/GridLayoutUsingValue.php +++ b/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/GridLayoutUsingValue.php @@ -13,7 +13,7 @@ class GridLayoutUsingValue implements \JsonSerializable */ public function __construct(?string $gridLayoutProperty = null) { - $this->kind = \Grafana\Foundation\ConstantReferenceDiscriminator\GridLayoutKindType; + $this->kind = \Grafana\Foundation\ConstantReferenceDiscriminator\Constants::GRID_LAYOUT_KIND_TYPE; $this->gridLayoutProperty = $gridLayoutProperty ?: ""; } diff --git a/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/GridLayoutWithoutValue.php b/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/GridLayoutWithoutValue.php index a449f4785..dd85ea274 100644 --- a/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/GridLayoutWithoutValue.php +++ b/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/GridLayoutWithoutValue.php @@ -13,7 +13,7 @@ class GridLayoutWithoutValue implements \JsonSerializable */ public function __construct(?string $gridLayoutProperty = null) { - $this->kind = \Grafana\Foundation\ConstantReferenceDiscriminator\GridLayoutKindType; + $this->kind = \Grafana\Foundation\ConstantReferenceDiscriminator\Constants::GRID_LAYOUT_KIND_TYPE; $this->gridLayoutProperty = $gridLayoutProperty ?: ""; } diff --git a/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/RowsLayoutUsingValue.php b/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/RowsLayoutUsingValue.php index 9e19811c0..63fd08b93 100644 --- a/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/RowsLayoutUsingValue.php +++ b/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/RowsLayoutUsingValue.php @@ -13,7 +13,7 @@ class RowsLayoutUsingValue implements \JsonSerializable */ public function __construct(?string $rowsLayoutProperty = null) { - $this->kind = \Grafana\Foundation\ConstantReferenceDiscriminator\RowsLayoutKindType; + $this->kind = \Grafana\Foundation\ConstantReferenceDiscriminator\Constants::ROWS_LAYOUT_KIND_TYPE; $this->rowsLayoutProperty = $rowsLayoutProperty ?: ""; } diff --git a/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/RowsLayoutWithoutValue.php b/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/RowsLayoutWithoutValue.php index 89fab2a64..81e60e136 100644 --- a/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/RowsLayoutWithoutValue.php +++ b/testdata/jennies/rawtypes/constant_reference_discriminator/PHPRawTypes/src/ConstantReferenceDiscriminator/RowsLayoutWithoutValue.php @@ -13,7 +13,7 @@ class RowsLayoutWithoutValue implements \JsonSerializable */ public function __construct(?string $rowsLayoutProperty = null) { - $this->kind = \Grafana\Foundation\ConstantReferenceDiscriminator\RowsLayoutKindType; + $this->kind = \Grafana\Foundation\ConstantReferenceDiscriminator\Constants::ROWS_LAYOUT_KIND_TYPE; $this->rowsLayoutProperty = $rowsLayoutProperty ?: ""; }