Php JMS Serialize@VirtualProperty不';行不通
我试图添加一个要序列化的方法,但JMS serialize不显示该字段Php JMS Serialize@VirtualProperty不';行不通,php,symfony,jmsserializerbundle,Php,Symfony,Jmsserializerbundle,我试图添加一个要序列化的方法,但JMS serialize不显示该字段 use JMS\Serializer\Annotation\Groups; use JMS\Serializer\Annotation\VirtualProperty; use JMS\Serializer\Annotation\SerializedName; class Ads { /** * @VirtualProperty * @Type("string") * @Seri
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”之前创建了一个。是我的错。虚拟财产功能正常 出了什么问题?你是怎么修好的?尝试同样的yaml配置,也不起作用。。。谢谢。好的,我知道为什么了。Yaml的配置非常不同。您必须分离虚拟属性。看这里:这应该解释问题出在哪里,但我不明白那句话…:(如果有人(像我一样)不理解答案,这可能会帮助您。在我的情况下,问题是我没有在文件顶部添加
使用JMS\Serializer\Annotation\VirtualProperty;
和使用JMS\Serializer\Annotation\SerializedName;