8

我试图按照相关文档,在这里:
http://jmsyst.com/libs/serializer/master/configuration
这里
http://jmsyst.com/libs/serializer/master/handlers
和这里
http://jmsyst.com /bundles/JMSSerializerBundle/master/cookbook/custom_handlers

我在尝试获取 symfony2 中的构建器对象时遇到了困难(请参阅此对象的第二个链接)。该服务是一个已经构建的序列化程序。我应该在哪里实例化我自己的处理程序?

更新:
我正在研究一种可能的解决方案:
$builder = \JMS\Serializer\SerializerBuilder::create();
或者
$builder = new \JMS\Serializer\SerializerBuilder();
这可能会起作用,但让已经实例化的序列化程序使用我的处理程序会很好。要在控制器中获取序列化程序服务:$serializer = $this->get('jms.serializer');

4

1 回答 1

15

解决方案是创建具有正确标签的服务。

datetimezone_handler:
    class:     MyVendor\MyBundle\Serializer\Handler\DateTimeZoneHandler
    tags:
        - { name: jms_serializer.subscribing_handler }
于 2014-03-15T10:04:27.507 回答