else { $options['flags'
] |= \FILTER_REQUIRE_SCALAR;
} $enumType = null;
$filter =
match ($type) { 'array' => \FILTER_DEFAULT,
'string' => \FILTER_DEFAULT,
'int' => \FILTER_VALIDATE_INT,
'float' => \FILTER_VALIDATE_FLOAT,
'bool' => \FILTER_VALIDATE_BOOL,
default =>
match ($enumType =
is_subclass_of($type, \BackedEnum::
class) ?
(new \
ReflectionEnum($type))->
getBackingType()->
getName() : null
) { 'int' => \FILTER_VALIDATE_INT,
'string' => \FILTER_DEFAULT,
default =>
throw new \
LogicException(sprintf('#[MapQueryParameter] cannot be used on controller argument "%s$%s" of type "%s"; one of array, string, int, float, bool or \BackedEnum should be used.',
$argument->
isVariadic() ? '...' : '',
$argument->
getName(),
$type ?? 'mixed'
)),
} };
$value =
filter_var($value,
$attribute->filter ??
$filter,
$options);
if (null !==
$enumType && null !==
$value) { $enumFrom =
static function D
$value) use ($type) { if (!\
is_string($value) && !\
is_int($value)) {