gamez / ramsey-uuid-normalizer
为 ramsey/uuid 提供的 Symfony 正则化和反正则化器
3.1.0
2023-12-17 09:25 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- ramsey/uuid: ^4.7.5
- symfony/serializer: ^6.4 || ^7.0.1
Requires (Dev)
- phpstan/extension-installer: ^1.3.1
- phpstan/phpstan: ^1.10.50
- phpstan/phpstan-phpunit: ^1.3.15
- phpunit/phpunit: ^10.5.3
- symfony/property-access: ^6.4 || ^7.0
README
安装
该实用工具可以通过 Composer 安装
$ composer require gamez/ramsey-uuid-normalizer
使用方法
Symfony 序列化组件
使用示例需要 PropertyAccess 组件,该组件也可以通过 Composer 安装
$ composer require symfony/property-access
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" } */
有关如何使用 Symfony 序列化组件的更多信息,请参阅官方文档中的 序列化组件。