Php JMSSerializerBundle-在自定义处理程序中继续反序列化

Php JMSSerializerBundle-在自定义处理程序中继续反序列化,php,symfony,jmsserializerbundle,Php,Symfony,Jmsserializerbundle,我有一个自定义处理程序,用于执行对象的反序列化: public function deserialize( JsonDeserializationVisitor $visitor, $data, array $type, DeserializationContext $context) 我不想独自承担所有的

我有一个自定义处理程序,用于执行对象的反序列化:

public function deserialize(   JsonDeserializationVisitor $visitor,
                               $data,
                               array $type,
                               DeserializationContext $context)
我不想独自承担所有的反序列化工作,我只想做其中的一部分。例如,我有一个相册(id、姓名、描述、照片),我想自己反序列化“描述”,并将所有其他工作留给捆绑包

    if (!empty($data['id']))
        $album = $albumManager->createWithId($data['id']);
    else
        $album = $albumManager->create();

    $album->setDescription($albumDescriptionParser->parse($data['description']));

    // and now I want to delegate other deserialization job to JMSSerializer
    // ....

    return $album;

我知道这是通过上下文、访问者和导航器实现的,但我不知道如何实现好的,我找到了实现的方法。在反序列化处理程序中似乎不容易处理

相反,我使用了自定义的
ObjectConstructorInterface
接口实现和
序列化程序

创建过程可以在自定义的
ObjectConstructorInterface
实现中处理,所有“额外设置”都可以在反序列化实际完成后设置-当
serializer.post_反序列化
事件发生时