Closed
Description
Description
PHP 8.4 got new Number class (from bcmath extension), it takes a $num
parameter and as such simple numbers or numeric-strings cannot be deserialized (or denormalized) into Number class.
I am proposing to add a BcMathNumberNormalizer
class similar to DateTimeNormalizer
which would normalize Number class into int or numeric-string (if it is a decimal) and denormalize numeric-strings, floats and ints into BcMath\Number
class.
Example
class Data
{
public function __construct(
public string $name,
public Number $salary,
) {}
}
$data = [
'name' => 'John Doe',
'salary' => 1000,
];
$denormalized = $normalizer->denormalize($data, Data::class);
dump($denormalized);
outputs