Skip to content

Commit e3cc1f5

Browse files
committed
Fix PHP enum keys
1 parent 3738484 commit e3cc1f5

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/SDK/Language/PHP.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,10 @@ public function getFilters(): array
390390
return php_uname('s') . '; ' . php_uname('v') . '; ' . php_uname('m');
391391
}),
392392
new TwigFilter('caseEnumKey', function (string $value) {
393+
if (isset($this->getIdentifierOverrides()[$value])) {
394+
$value = $this->getIdentifierOverrides()[$value];
395+
}
396+
$value = \preg_replace('/[^a-zA-Z0-9]/', '', $value);
393397
return $this->toUpperSnakeCase($value);
394398
}),
395399
];

templates/php/src/Enums/Enum.php.twig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use JsonSerializable;
66
77
class {{ enum.name | caseUcfirst | overrideIdentifier }} implements JsonSerializable
88
{
9-
{%~ for key in enum.enum %}
9+
{%~ for key in enum.keys %}
1010
private static {{ enum.name | caseUcfirst }} ${{ key | caseEnumKey }};
1111
{%~ endfor %}
1212
@@ -29,7 +29,7 @@ class {{ enum.name | caseUcfirst | overrideIdentifier }} implements JsonSerializ
2929
3030
{% for value in enum.enum %}
3131
{% set key = enum.keys is empty ? value : enum.keys[loop.index0] %}
32-
public static function {{ key | caseSnake | caseUpper }}(): {{ enum.name | caseUcfirst | overrideIdentifier}}
32+
public static function {{ key | caseEnumKey }}(): {{ enum.name | caseUcfirst | overrideIdentifier}}
3333
{
3434
if (!isset(self::${{ key | caseEnumKey }})) {
3535
self::${{ key | caseEnumKey }} = new {{ enum.name | caseUcfirst | overrideIdentifier }}('{{value}}');

0 commit comments

Comments
 (0)