序列化程序识别符组如何用于排除策略?

时间:2019-03-25 12:11:55

标签: php symfony jmsserializerbundle

serializer documentation仅用这句话说明区分词组可以与排除策略一起使用,但是exclusion strategies documentation没有说明如何使用。如何使用它们?

  

@Discriminator此注释允许序列化/反序列化   关系是多态的,但其中有共同的基类   存在。 @Discriminator注释必须至少应用于   超级类型:

/**
 * @Discriminator(field = "type", disabled = false, map = {"car": "Car", "moped": "Moped"}, groups={"foo", "bar"})
 */
abstract class Vehicle { }
class Car extends Vehicle { }
class Moped extends Vehicle { }
     

注意:组是可选的,并且用作排除策略。

1 个答案:

答案 0 :(得分:0)

groups仅用于包含或排除field(而非子实体)。

像这样使用它:

use JMS\Serializer\SerializationContext;

$serializer->serialize(new Moped(), 'json', SerializationContext::create()->setGroups(array('foo')));