1

我使用 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')));
4

1 回答 1

2

这就是序列化组的意义所在。它们类似于验证器组件中的验证组。

于 2013-10-01T10:36:43.310 回答