Skip to content

Normalizer to serialize Ramsey Uuid with Symfony Serializer

License

Notifications You must be signed in to change notification settings

gbprod/uuid-normalizer

Uuid normalizer

Tests Latest Stable Version Total Downloads Latest Unstable Version

Normalizer to serialize Ramsey Uuid using Symfony Serializer.

Installation

composer require gbprod/uuid-normalizer

Why

By default, Symfony Serializer can't handle serialization and deserialization of Ramsey Uuid. You will have that kind of errors:

Not a time-based UUID
500 Internal Server Error - UnsupportedOperationException

Setup

In your app/config/service.yml file:

services:
  uuid_normalizer:
    class: GBProd\UuidNormalizer\UuidNormalizer
    tags:
      - { name: serializer.normalizer }

  uuid_denormalizer:
    class: GBProd\UuidNormalizer\UuidDenormalizer
    tags:
      - { name: serializer.normalizer }

Or using xml:

<services>
    <service id="uuid_normalizer" class="GBProd\UuidNormalizer\UuidNormalizer">
        <tag name="serializer.normalizer" />
    </service>
    <service id="uuid_denormalizer" class="GBProd\UuidNormalizer\UuidDenormalizer">
        <tag name="serializer.normalizer" />
    </service>
</services>

Or php:

use Symfony\Component\DependencyInjection\Definition;

$definition = new Definition('GBProd\UuidNormalizer\UuidNormalizer');
$definition->addTag('serializer.normalizer');
$container->setDefinition('uuid_normalizer', $definition);

$definition = new Definition('GBProd\UuidNormalizer\UuidDenormalizer');
$definition->addTag('serializer.normalizer');
$container->setDefinition('uuid_denormalizer', $definition);

Or building your own serializer:

use GBProd\UuidNormalizer\UuidDenormalizer;
use GBProd\UuidNormalizer\UuidNormalizer;

$serializer = new Serializer([
    new UuidNormalizer(),
    new UuidDenormalizer(),
    // Other normalizers...
]);

Requirements

  • PHP 7.4+

Contributing

Feel free to contribute, see CONTRIBUTING.md file for more informations.

About

Normalizer to serialize Ramsey Uuid with Symfony Serializer

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors 6