Symfony2 HHVM 3.4 Serializer问题

时间:2015-01-13 16:40:07

标签: json symfony serialization hhvm

我们正在HHVM上测试我们的Symfony2 API。我们只是在控制器中返回php对象,这些对象将序列化为Json。

每个对象都有一个配置文件,我们在其中定义要公开的数据。在PHP 5.4 / 5.5 / 5.6上,一切运行正常,但在HVVM上,序列化程序忽略了序列化程序配置文件。它只是序列化所有属性。

    {
    "simple_products":{
        "_new": false,
        "_deleted": false,
        "modified_columns":[],
        "virtual_columns":[],
        "id": "3556",
        "daytime_id": "1",
        "name": "Banane",
        "value": 123,
        "peer": null,
        "start_copy": false,
        "day_id": "11561",
        "created_at": "2015-01-13 17:36:38",
        "updated_at": "2015-01-13 17:36:38",
        "created_by": "3505",
        "updated_by": "3505",
        "a_day": null,
        "a_daytime": null,
        "already_in_save": false,
        "already_in_validation": false,
        "already_in_clear_all_references_deep": false,
        "validation_failures":[]
    }
}

而不仅仅是

{
    "simple_products":{
        "id": "4181",
        "daytime_id": "1",
        "name": "Banane",
        "value": 123
    }
}

任何人都知道该怎么办?如果您需要配置文件,请随时询问。

更新(jms / serializer config)

# jms serializer config
jms_serializer:
    property_naming:
        lower_case: true
    metadata:
        cache: file
        debug: "%kernel.debug%"
        file_cache:
            dir: "%kernel.cache_dir%/serializer"
        auto_detection: true
        directories:
            propel:
                namespace_prefix: ""
                path: "@FooRestBundle/Resources/config/serializer"
    visitors:
        json:
            options: 0

1 个答案:

答案 0 :(得分:0)

我认为你正在使用jms序列化器来使用注释来序列化你的对象。 HHVM忽略了docblock中的注释。尝试在xml中定义序列化规则:

http://jmsyst.com/libs/serializer/master/reference/xml_reference