我希望使用PHP库JMSSerializer为同一个实体提供两种不同的表示形式,这可以通过其组功能轻松实现。
问题是我有一个表示子对象的属性被内联的表示,一旦它们没有。如果它以某种方式工作会很好:
<?xml version="1.0" encoding="UTF-8"?>
<serializer>
<class name="SomeEntity">
<property name="structure" type="SomeOtherEntity" groups="group1" inline="true"/>
<property name="structure" type="SomeOtherEntity" groups="group2"/>
</class>
</serializer>
我想以这种方式实现的目标是SomeEntity
可以使用group1
序列化,SomeOtherEntity
内联,group2
如果SomeOtherEntity
应该没有内联,但这似乎不起作用(我猜名称属性有点独特)。
解决方案是将另一种方法与VirtualProperty
结合使用,但是我必须触及该类,我宁愿避免使用它,因为它是一个纯粹的序列化问题。
任何更好的想法如何解决这个问题?