sidus / base-serializer-bundle
Symfony 3 & 4 的额外序列化功能
v1.0.3
2020-01-21 09:32 UTC
Requires
- php: >=5.6
- sidus/base-bundle: ~1.0
- symfony/serializer: >2.4,<5.0
This package is auto-updated.
Last update: 2024-09-21 20:28:14 UTC
README
序列化器
嵌套属性反序列化器可以非常有用,它可以将API响应反序列化为适当的模型实体,无需任何setter,并且可以根据非常简单的注解反序列化嵌套数据和嵌套实体集合。
此反序列化器仅适用于带有@NestedPropertyDenormalizer
注解的PHP类。
配置
配置示例
<?php namespace FooBar\Model; use Sidus\BaseSerializerBundle\Serializer\Annotation\NestedClass; use Sidus\BaseSerializerBundle\Serializer\Annotation\NestedPropertyDenormalizer; /** * @NestedPropertyDenormalizer() */ class Book { /** @var string */ protected $id; /** * @var \DateTimeInterface|null * * @NestedClass(targetClass="DateTime") */ protected $publicationDate; /** * @var Author|null * * @NestedClass(targetClass="FooBar\Model\Author") */ protected $author; /** * @var Edition[] * * @NestedClass(targetClass="FooBar\Model\Edition", multiple=true) */ protected $editions = []; // Here be getters (no setters needed) }
请注意,@NestedClass
注解可以针对任何类。
额外服务
此捆绑包还提供了一些其他服务,可以被其他捆绑包使用。由于它们仅在自定义反序列化器中需要,因此未提供实现细节。