2016-06-07 10 views
1

Ich habe an User Klasse von BaseUser von geerbt, so habe ich ein Problem konfrontiert. Ich muss Serialisierung für meine User einrichten, aber JMS Serializer serialisiert alle Eigenschaften von BaseUser. Lösung, die ich gefunden habe, war meine eigene Annotation für BaseUser zu erstellen und in Yaml-Datei zu speichern, aber ich weiß nicht, wie genau ich das tun soll.Jms Serializer-Annotationen als Yaml-Datei

Antwort

1

JMSSerializerBundle verwenden Sie standardmäßig das Verzeichnis AcmeBundle/Resources/config/serializer, um alle Metadaten abzurufen, die in den Dateien yml oder xml deklariert sind. Sie müssen eine Datei mit dem Namen Entity.User.yml erstellen, um den Serializer auf Ihre AcmeBundle/Entity/User Einheit zu verweisen.

Wenn benötigen Sie Metadaten für Drittes Bündel definieren (Basiseinheiten) Sie benutzerdefinierten Pfad in config.yml zum Abrufen von Metadaten definieren:

jms_serializer: 
    metadata: 
     directories: 
      FOSUB: 
       namespace_prefix: FOS\UserBundle 
       path: %kernel.root_dir%/serializer/FOSUB 

In diesem Fall müssen Sie Ihre Metadatendatei in %kernel.root_dir%/serializer/FOSUB Verzeichnis suchen, mit Name wie Model.User.yml.