7
Ich versuche, eine Methode zum Serialisieren hinzuzufügen, aber JMS Serialize zeigt das Feld nicht.JMS Serialize @VirtualProperty funktioniert nicht
use JMS\Serializer\Annotation\Groups;
use JMS\Serializer\Annotation\VirtualProperty;
use JMS\Serializer\Annotation\SerializedName;
class Ads
{
/**
* @VirtualProperty
* @Type("string")
* @SerializedName("Foo")
* @Groups({"manage"})
*/
public function foo(){
$foo = 'foo';
return $foo;
}
...
}
Und dann:
use JMS\Serializer\SerializationContext;
use JMS\Serializer\SerializerBuilder;
...
$context = new SerializationContext();
$context->setGroups(array('manage'));
$serializer = JMS\Serializer\SerializerBuilder::create()->build();
$jsonContent = $serializer->serialize($ad, 'json', $context);
Ich habe keine Beispiele gezeigt, wie VirtualProperty zu verwenden.
Ist die Syntax korrekt? Was ist falsch?
Vielen Dank.
Was war das Problem? Wie hast du es behoben? Probier das gleiche mit einer yaml config, funktioniert auch nicht ... Danke. – Soullivaneuh
Ok gefunden, warum. Yaml Konfiguration ist ziemlich unterschiedlich. Sie müssen virtuelle Eigenschaften trennen. Siehe hier: http://jmsst.com/libs/serializer/master/reference/yml_reference – Soullivaneuh
Das soll erklären, wo das Problem war, aber ich verstehe diesen Satz nicht ... :( – martin