diff --git a/src/Action/ExceptionAction.php b/src/Action/ExceptionAction.php index cb02961801e..492768bb027 100644 --- a/src/Action/ExceptionAction.php +++ b/src/Action/ExceptionAction.php @@ -40,7 +40,7 @@ public function __construct(SerializerInterface $serializer, array $errorFormats { $this->serializer = $serializer; $this->errorFormats = $errorFormats; - $this->exceptionToStatus = array_merge(self::DEFAULT_EXCEPTION_TO_STATUS, $exceptionToStatus); + $this->exceptionToStatus = self::DEFAULT_EXCEPTION_TO_STATUS + $exceptionToStatus; } /** diff --git a/src/Bridge/NelmioApiDoc/Parser/ApiPlatformParser.php b/src/Bridge/NelmioApiDoc/Parser/ApiPlatformParser.php index 4d07f8ed537..9d2d73656e1 100644 --- a/src/Bridge/NelmioApiDoc/Parser/ApiPlatformParser.php +++ b/src/Bridge/NelmioApiDoc/Parser/ApiPlatformParser.php @@ -112,7 +112,11 @@ private function parseResource(ResourceMetadata $resourceMetadata, string $resou } if (isset($attributes['denormalization_context']['groups'])) { - $options['serializer_groups'] = isset($options['serializer_groups']) ? array_merge($options['serializer_groups'], $attributes['denormalization_context']['groups']) : $options['serializer_groups']; + if (isset($context['serializer_groups'])) { + $options['serializer_groups'] += $attributes['denormalization_context']['groups']; + } else { + $options['serializer_groups'] = $attributes['denormalization_context']['groups']; + } } return $this->getPropertyMetadata($resourceMetadata, $resourceClass, $io, $visited, $options); @@ -129,8 +133,8 @@ private function parseResource(ResourceMetadata $resourceMetadata, string $resou private function getGroupsForItemAndCollectionOperation(ResourceMetadata $resourceMetadata, string $operationName) : array { $operation = [ - 'denormalization_context' => array_merge($resourceMetadata->getItemOperationAttribute($operationName, 'denormalization_context', []), $resourceMetadata->getCollectionOperationAttribute($operationName, 'denormalization_context', [])), - 'normalization_context' => array_merge($resourceMetadata->getItemOperationAttribute($operationName, 'normalization_context', []), $resourceMetadata->getCollectionOperationAttribute($operationName, 'normalization_context', [])), + 'denormalization_context' => $resourceMetadata->getItemOperationAttribute($operationName, 'denormalization_context', []) + $resourceMetadata->getCollectionOperationAttribute($operationName, 'denormalization_context', []), + 'normalization_context' => $resourceMetadata->getItemOperationAttribute($operationName, 'normalization_context', []) + $resourceMetadata->getCollectionOperationAttribute($operationName, 'normalization_context', []), ]; $options = [ diff --git a/src/Swagger/Serializer/DocumentationNormalizer.php b/src/Swagger/Serializer/DocumentationNormalizer.php index 03d5b70cb50..ebf2eb827b1 100644 --- a/src/Swagger/Serializer/DocumentationNormalizer.php +++ b/src/Swagger/Serializer/DocumentationNormalizer.php @@ -335,8 +335,7 @@ private function getPropertySchema(PropertyMetadata $propertyMetadata) : \ArrayO break; case Type::BUILTIN_TYPE_OBJECT: - $className = $valueType->getClassName(); - if (null === $className) { + if (null === $className = $valueType->getClassName()) { break; } @@ -350,7 +349,7 @@ private function getPropertySchema(PropertyMetadata $propertyMetadata) : \ArrayO break; } - if ($propertyMetadata->isReadableLink()) { + if (true === $propertyMetadata->isReadableLink()) { $valueSchema['$ref'] = sprintf('#/definitions/%s', $this->resourceMetadataFactory->create($className)->getShortName()); break; } @@ -358,16 +357,13 @@ private function getPropertySchema(PropertyMetadata $propertyMetadata) : \ArrayO $valueSchema['type'] = 'string'; $valueSchema['format'] = 'uri'; break; - - default: - break; } if ($type->isCollection()) { $propertySchema['type'] = 'array'; $propertySchema['items'] = $valueSchema; } else { - $propertySchema = new \ArrayObject(array_merge((array) $propertySchema, (array) $valueSchema)); + $propertySchema = new \ArrayObject((array) $propertySchema + (array) $valueSchema); } return $propertySchema;