1

这是我想做的事情:

  1. 我有一个对象,假设Article有两个属性idtitle
  2. 我想使用 JMSSerializerBundle 以 XML 或 JSON 格式对其进行序列化(但它应该适用于任何支持的格式)
  3. 在序列化时,我想附加一些信息,因此序列化结果如下所示:

    <article>
      <id>1</id>
      <title>Lorem ipsum</title>
      <slug>1-lorem-ipsum</slug>
    </article>
    

如您所见,结果已附加了<slug>实际上不是Article对象属性的元素。

我尝试深入研究代码,并尝试编写自定义序列化处理程序。我尝试了几种策略,例如附加动态对象属性,但它从未被序列化。我读到了一个类似的问题,stdClass我认为同样的问题也适用,这个属性不存在元数据,因为它在实例化后被动态添加到对象中。

然后我决定创建一个新的 XML 元素,但如果我返回我新创建的元素,这是唯一被序列化的元素,它会导致类似:

    <article>
      <slug>1-lorem-ipsum</slug>
    </article>

我也尝试返回整个文档,但它会导致错误(应该是 DOMElement)。

我有点卡住,任何帮助将不胜感激。

4

1 回答 1

2

我在为每个序列化对象自动添加 Link rel 时遇到了类似的问题。我最终决定在要序列化的实体中创建一个 Link 实体和与它的关联。你可以对蛞蝓做同样的事情。

这具有额外的优势,即如果 URL 发生更改,则能够动态编辑链接。

于 2012-11-27T12:15:16.967 回答