我想使用 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
withSomeOtherEntity
内联进行序列化,并且group2
ifSomeOtherEntity
不应该内联,但这似乎不起作用(我猜 name 属性有点独特)。
一种解决方案是结合 a 引入另一种方法VirtualProperty
,但随后我将不得不触及我希望避免的类,因为它是一个纯粹的序列化问题。
任何更好的想法如何解决这个问题?