php - JMS 序列化 @VirtualProperty 不起作用

标签 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")
     * @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/

相关文章:

symfony - JMS Serializer 忽略了我的 YML 实体排除项

Symfony2 JMSSerializerBundle 在 YML 中公开属性

php - 带哈希的 SQL LIKE 运算符

php - Symfony2 : How to deploy in subdirectory (Apache)

json - 使用关联序列化实体

PhpStorm Symfony 分析器

jquery - Symfony2 : AJAX request : How to handle authentication when needed?

php - 从数据库中获取变量名

php - 使用 mysql 连接 android 和 php 时发生错误

php - 当我可以通过 PHP 脚本发送电子邮件时,为什么我不通过 Wordpress 发送电子邮件?