https://github.com/jeromegamez/ramsey-uuid-normalizer
Symfony Normalizer and Denormalizer for ramsey/uuid
https://github.com/jeromegamez/ramsey-uuid-normalizer
normalizer php ramsey ramsey-uuid serializer symfony
Last synced: 5 months ago
JSON representation
Symfony Normalizer and Denormalizer for ramsey/uuid
- Host: GitHub
- URL: https://github.com/jeromegamez/ramsey-uuid-normalizer
- Owner: jeromegamez
- License: mit
- Created: 2017-08-31T19:12:19.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2025-02-04T22:11:26.000Z (over 1 year ago)
- Last Synced: 2025-11-12T17:11:16.567Z (8 months ago)
- Topics: normalizer, php, ramsey, ramsey-uuid, serializer, symfony
- Language: PHP
- Size: 53.7 KB
- Stars: 16
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Symfony Normalizer and Denormalizer for [ramsey/uuid](https://github.com/ramsey/uuid)
[](https://packagist.org/packages/gamez/ramsey-uuid-normalizer)
[](https://packagist.org/packages/gamez/ramsey-uuid-normalizer/stats)
[](https://packagist.org/packages/gamez/ramsey-uuid-normalizer/stats)
[](https://github.com/jeromegamez/ramsey-uuid-normalizer/actions)
[](https://github.com/sponsors/jeromegamez)
## Installation
The utility can be installed with [Composer]:
```bash
$ composer require gamez/ramsey-uuid-normalizer
```
## Usage
### Symfony Serializer Component
The usage example requires the [PropertyAccess Component] component,
which can also be installed with [Composer]:
```bash
$ composer require symfony/property-access
```
```php
use Gamez\Symfony\Component\Serializer\Normalizer\UuidNormalizer;
use Ramsey\Uuid\Uuid;
use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
use Symfony\Component\Serializer\Serializer;
class Person
{
public $id;
public $name;
}
$person = new Person();
$person->id = Uuid::uuid4();
$person->name = 'Jérôme Gamez';
$encoders = [new JsonEncoder()];
$normalizers = [new UuidNormalizer(), new ObjectNormalizer()];
$serializer = new Serializer($normalizers, $encoders);
$json = $serializer->serialize($person, 'json');
echo $json.PHP_EOL;
// {"id":"3d79048c-29e7-482f-979a-5b9a708b2ede","name":"J\u00e9r\u00f4me Gamez"}
$person = $serializer->deserialize($json, Person::class, 'json');
var_dump($person);
/*
class Person#27 (2) {
public $id =>
string(36) "3d79048c-29e7-482f-979a-5b9a708b2ede"
public $name =>
string(14) "Jérôme Gamez"
}
*/
```
For further information on how to use the Symfony Serializer Component,
please see [The Serializer Component] in the official documentation.
[Composer]: https://getcomposer.org
[PropertyAccess Component]: https://github.com/symfony/property-access
[The Serializer Component]: https://symfony.com/doc/current/components/serializer.html