7
Próbuję dodać metodę serializacji, ale JMS Serialize nie pokazuje tego pola.JMS Serialize @VirtualProperty nie działa
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;
}
...
}
A potem:
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);
Nie widziałem żadnych przykładów, jak używać VirtualProperty.
Czy składnia jest poprawna? Co jest nie tak?
Dziękuję.
W czym problem? Jak to naprawiłeś? Wypróbuj to samo z konfiguracją yaml, nie działa też ... Dzięki. – Soullivaneuh
Ok znalazłem dlaczego. Konfiguracja Yaml jest zupełnie inna. Musisz oddzielić właściwości wirtualne. Zobacz tutaj: http://jmsyst.com/libs/serializer/master/reference/yml_reference – Soullivaneuh
To ma wyjaśnić, gdzie był problem, ale nie rozumiem tego zdania ... :( – martin