我正在尝试添加一个序列化方法,但JMS Serialize不会显示该字段。
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;
}
...
}
然后:
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);
我还没有看到任何关于如何使用VirtualProperty的例子。
语法是否正确?有什么问题?
谢谢。
答案 0 :(得分:2)
我注意到了这个问题。在对象“$ ad”之前创建了。我的错。虚拟财产正常运作。