我们正在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:
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
答案 0 :(得分:0)
我认为你正在使用jms序列化器来使用注释来序列化你的对象。 HHVM忽略了docblock中的注释。尝试在xml中定义序列化规则:
http://jmsyst.com/libs/serializer/master/reference/xml_reference