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" 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 ?: ""; }