我正在尝试添加一个序列化方法,但 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 的示例。
语法是否正确?怎么了?
谢谢。
最佳答案
我注意到了这个问题。在对象“$ad”之前创建了。我的错。虚拟属性(property)正常运作。
关于php - JMS 序列化 @VirtualProperty 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16018913/