coosos/ jms-serializer-bidirectional-relation
构建映射以恢复双向关系
v1.0.0
2020-03-15 17:47 UTC
Requires
- php: ^7.2
- jms/serializer: ^1.14|^2.0|^3.0
Requires (Dev)
- ext-json: *
- phpmd/phpmd: ^2.8
- phpunit/phpunit: ^8.4
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-09-16 05:12:30 UTC
README
描述
在反序列化过程中构建映射以恢复双向关系。
此映射将添加到您的序列化内容中,键为_mapping_bidirectional_relation。
安装
使用 jms/serializer(不带 symfony)
use JMS\Serializer\SerializerBuilder; use JMS\Serializer\EventDispatcher\EventDispatcher; use Coosos\BidirectionalRelation\EventSubscriber\MapDeserializerSubscriber; use Coosos\BidirectionalRelation\EventSubscriber\MapSerializerSubscriber; $builder = SerializerBuilder::create(); $builder->configureListeners(function (EventDispatcher $dispatcher) { $dispatcher->addSubscriber(new MapSerializerSubscriber()); $dispatcher->addSubscriber(new MapDeserializerSubscriber()); }); $serializer = $builder->build();
使用 Symfony
# services.yml Coosos\BidirectionalRelation\EventSubscriber\MapDeserializerSubscriber: tags: - { name: jms_serializer.event_subscriber } Coosos\BidirectionalRelation\EventSubscriber\MapSerializerSubscriber: tags: - { name: jms_serializer.event_subscriber }
用法
注解(最小要求)
为了避免在不需要映射的对象上进行映射,您应该在注解类中添加@Coosos\BidirectionalRelation\Annotations\SerializerBidirectionalRelation(仅限根模型)。
排除映射
如果您想排除某个对象进行映射,可以在您的字段中添加@Coosos\BidirectionalRelation\Annotations\ExcludeFromMapping注解。