Сериализация JMS @VirtualProperty не работает

Я пытаюсь добавить метод для сериализации, но сериализация JMS не показывает поле.

use JMSSerializerAnnotationGroups;
use JMSSerializerAnnotationVirtualProperty;
use JMSSerializerAnnotationSerializedName;

class Ads
{   
    /**
     * @VirtualProperty
     * @Type("string")
     * @SerializedName("Foo")
     * @Groups({"manage"})
     */
    public function foo(){
        $foo = 'foo';
        return $foo;
    }
    ...
}

и затем:

use JMSSerializerSerializationContext;
use JMSSerializerSerializerBuilder;

...

$context = new SerializationContext();
$context->setGroups(array('manage'));

$serializer = JMSSerializerSerializerBuilder::create()->build();
$jsonContent = $serializer->serialize($ad, 'json', $context);

Я не видел никаких примеров использования VirtualProperty.

синтаксис правильный? Что случилось?

спасибо.

1 ответов


Я заметил проблему. Перед объектом был создан объект "$ ad". Моя вина. Виртуальное свойство работает правильно.