我使用 JMS 序列化程序作为 Symfony2 的 JMSSerializerBundle。
我以这种方式序列化我的实体:
$this->serializer = $this->container->get('jms_serializer');
$json = $this->serializer->serialize($values, 'json');
捆绑包自动使用与捆绑包/实体名称匹配的 ref 配置:
MyBundlePath/Resources/config/serializer/Entity.Name.yml
就我而言,我需要为同一个实体类提供两种不同的配置,有没有办法指定序列化程序使用哪个 yml/xml 文件?
编辑:nifr 提供了解决方案,组功能
在我的 YAML conf 案例中,您只需要添加组参数
Entity.ClassName:
...
properties:
some-property:
...
groups: [first, second]
然后在序列化调用中指定它:
$serializer->serialize($values, 'json', SerializationContext::create()->setGroups(array('my-group-name')));