首页 > 解决方案 > JMSSerializer hasData 已弃用

问题描述

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

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 存在于访问者中并且不破坏我的序列化程序组时,更改 path_a 的新方法是什么?

标签: symfonyjmsjmsserializerbundlejms-serializer

解决方案


在 3.9.0 版本之后,方法 hasData 不被弃用。

变更日志


推荐阅读