Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Serializer] (De)Normalizer for BcMath\Number class #59651

Closed
@faizanakram99

Description

@faizanakram99

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

Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions