Nek- / uuid-normalizer

Normalizer to serialize Ramsey Uuid with Symfony Serializer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Uuid normalizer

Build Status codecov Scrutinizer Code Quality Dependency Status

Latest Stable Version Total Downloads Latest Unstable Version License

Normalizer to serialize Ramsey Uuid using Symfony Serializer.

Installation

With Composer

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 5.6+

Contributing

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

About

Normalizer to serialize Ramsey Uuid with Symfony Serializer

License:Do What The F*ck You Want To Public License


Languages

Language:PHP 94.7%Language:Makefile 5.3%