for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace FRZB\Component\RequestMapper\Data;
use FRZB\Component\RequestMapper\Attribute\ParamConverter;
use JetBrains\PhpStorm\Immutable;
use JetBrains\PhpStorm\Pure;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
#[Immutable]
final class ConverterData
{
private const DEFAULT_CONTEXT = [AbstractObjectNormalizer::DISABLE_TYPE_ENFORCEMENT => true];
private Request $request;
private ParamConverter $attribute;
public function __construct(Request $request, ParamConverter $attribute)
$this->request = $request;
$this->attribute = $attribute;
}
public function getRequest(): Request
return $this->request;
public function getRequestParameters(): array
return $this->request->request->all();
#[Pure]
public function getParameterClass(): ?string
return $this->attribute->getParameterClass();
public function isValidationNeeded(): bool
return $this->attribute->isValidationNeeded();
public function getSerializerContext(): array
return array_merge($this->attribute->getSerializerContext(), self::DEFAULT_CONTEXT);
public function getValidationGroups(): array
return $this->attribute->getValidationGroups();