JMS Serializer Bundle - 在运行时创建组

JMS Serializer Bundle - Create group at runtime

我试图通过允许用户select从 Web 界面序列化哪些字段来获得一种自定义 API 创建。

一种可能的解决方案是允许用户创建 JMS 序列化组的等效项。

有什么方法可以在运行时配置 JMS 组以便我可以调用以下内容吗?

$serializer->serialize(new X(), 'json', SerializationContext::create()->setGroups(array('my_custom_group')));

您可以使用

 interface ExclusionStrategyInterface
 {
   public function shouldSkipClass(ClassMetadata $metadata, Context $context);
   public function shouldSkipProperty(PropertyMetadata $property, Context $context);
 }

一个非常广泛的示例如何使用它,请查看此 link:

http://jolicode.com/blog/how-to-implement-your-own-fields-inclusion-rules-with-jms-serializer