diff --git a/modules/openapi-generator/src/main/resources/php-nextgen/ObjectSerializer.mustache b/modules/openapi-generator/src/main/resources/php-nextgen/ObjectSerializer.mustache index 7f2be65eb670..ca9d0a17c79b 100644 --- a/modules/openapi-generator/src/main/resources/php-nextgen/ObjectSerializer.mustache +++ b/modules/openapi-generator/src/main/resources/php-nextgen/ObjectSerializer.mustache @@ -79,7 +79,7 @@ class ObjectSerializer $getter = $data::getters()[$property]; $value = $data->$getter(); if ($value !== null && !in_array($openAPIType, [{{&primitives}}], true)) { - if ($openAPIType instanceof \BackedEnum) { + if (is_sublass_of($openAPIType, '\BackedEnum')) { $data = $openAPIType::tryFrom($data); if ($data === null) { $imploded = implode("', '", array_map(fn($case) => $case->value, $openAPIType::cases())); @@ -486,7 +486,7 @@ class ObjectSerializer } - if ($class instanceof \BackedEnum) { + if (is_subclass_of($class, '\BackedEnum')) { $data = $class::tryFrom($data); if ($data === null) { $imploded = implode("', '", array_map(fn($case) => $case->value, $class::cases())); diff --git a/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/ObjectSerializer.php b/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/ObjectSerializer.php index 336ef331d939..55eeaaded916 100644 --- a/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/ObjectSerializer.php +++ b/samples/client/petstore/php-nextgen/OpenAPIClient-php/src/ObjectSerializer.php @@ -88,7 +88,7 @@ public static function sanitizeForSerialization($data, $type = null, $format = n $getter = $data::getters()[$property]; $value = $data->$getter(); if ($value !== null && !in_array($openAPIType, ['\DateTime', '\SplFileObject', 'array', 'bool', 'boolean', 'byte', 'float', 'int', 'integer', 'mixed', 'number', 'object', 'string', 'void'], true)) { - if ($openAPIType instanceof \BackedEnum) { + if (is_sublass_of($openAPIType, '\BackedEnum')) { $data = $openAPIType::tryFrom($data); if ($data === null) { $imploded = implode("', '", array_map(fn($case) => $case->value, $openAPIType::cases())); @@ -495,7 +495,7 @@ public static function deserialize($data, $class, $httpHeaders = null) } - if ($class instanceof \BackedEnum) { + if (is_subclass_of($class, '\BackedEnum')) { $data = $class::tryFrom($data); if ($data === null) { $imploded = implode("', '", array_map(fn($case) => $case->value, $class::cases()));