JMSSerializer hasData 已弃用

JMSSerializer hasData deprecated

我有一个带有亲戚路径的实体。如果这些链接是序列化的,我想将它们更改为绝对路径。

class EntityA
{
    /**
     * @var string
     *
     * @Serializer\Expose
     * @Serializer\Groups({"A"})
     */
    private $pathA;
}

我在 post_serialize 上添加了一个事件订阅。我可以用

更改字段的值
    $visitor->visitProperty(new StaticPropertyMetadata('', 'path_a', $absolutePath), $absolutePath);

但如果 absolutePath 不在组 A 中,我不会填写该字段。

之前,我使用 $visitor->hasData('path_a') 但现在已弃用。

有什么新方法可以更改 path_a ONLY 如果它存在于 visitor:$data 并且不破坏我的序列化程序组?

3.9.0后版本方法hasData未弃用

CHANGELOG