7

ho cercato di seguire la relativa documentazione, qui:
http://jmsyst.com/libs/serializer/master/configuration
qui
http://jmsyst.com/libs/serializer/master/handlers
e qui
http://jmsyst.com/bundles/JMSSerializerBundle/master/cookbook/custom_handlersLa creazione di un gestore di JMS Serializer in Symfony2

Sono bloccato quando si cerca di ottenere il costruttore oggetto in symfony2 (vedi il secondo link per questo oggetto). Il servizio è un serializzatore che è già stato creato. Dove dovrei instanciare il mio stesso gestore?

Aggiornamento:
Sto indagando una possibile soluzione:
$builder = \JMS\Serializer\SerializerBuilder::create();
o
$builder = new \JMS\Serializer\SerializerBuilder();
forse questo funzionerà, ma sarebbe bello lasciare che il serializzatore già istanziare fanno uso di mio gestore. Per ottenere il servizio serializzatore nel controller: $serializer = $this->get('jms.serializer');

risposta

13

La soluzione è creare un servizio con il tag corretto.

datetimezone_handler: 
    class:  MyVendor\MyBundle\Serializer\Handler\DateTimeZoneHandler 
    tags: 
     - { name: jms_serializer.subscribing_handler } 
+0

si salva la mia giornata due volte in questo mese. Ero solito serializzare l'entità FosUser, per l'entità di tipo "bisogno" di "My \\ UserBundle \\ Entity \\ User" –

+0

Questo non funziona per me. L'ho impostato in questo modo e non registra ancora il gestore. Non entra mai in getSubscribingMethods() sul gestore. – Nicolas

Problemi correlati