如何使用序列化器吗
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.5,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。
如何使用序列化器吗
在进行序列化和反序列化对象和不同格式(例如JSON或XML)是一个非常复杂的话题。ob娱乐下载Symfony提供了序列化器组件给你一些工具,您可以利用您的解决方案。
事实上,在你开始之前,熟悉序列化器,标准化者和编码器通过阅读序列化器组件。您还应该查看JMSSerializerBundle扩大在Symfony的核心序列化器提供的功能。ob娱乐下载
激活序列化器
2.3
在Symfony的序列化器一直存在,但Symfony 2.3之前,您需要构ob娱乐下载建序列化器
服务自己。
的序列化器
默认服务不可用。打开它,激活它在您的配置:
1 2 3 4 5
# app / config / config.yml框架:#……序列化器:启用:真正的
1 2 3 4 5
< !- - - - - -- - - - - -app/config/config.xml -->< /span><框架:配置>< !- - - - - -- - - - - -。。。- - ><框架:序列化器启用=“真正的”/ >< /框架:配置>
1 2 3 4 5 6 7
/ / app / config / config . php美元容器- >loadFromExtension (“框架”,数组(/ /……“序列化器”= >数组(“启用”= >真正的)));
添加标准化者和编码器
一旦启用,序列化器
服务将在容器和将装有两个编码器(JsonEncoder和XmlEncoder),但没有标准化者自己,这意味着你需要加载。
你可以加载标准化者和/或编码器通过标记他们serializer.normalizer和serializer.encoder。还可以设置的优先级标记为了决定匹配的顺序。
这里有一个例子如何加载GetSetMethodNormalizer:
1 2 3 4 5 6
# app / config / config.yml服务:get_set_method_normalizer:类:ob娱乐下载Symfony \组件\ \标准化者\ GetSetMethodNormalizer进行序列化标签:- - - - - -{名称:serializer.normalizer}
1 2 3 4 5 6
< !- - - - - -- - - - - -app/config/config.xml -->< /span><服务><服务id=“get_set_method_normalizer”类=“ob娱乐下载Symfony \序列化器\ \组件标准化者\ GetSetMethodNormalizer”><标签的名字=“serializer.normalizer”/ >< /服务>< /服务>
1 2 3 4 5 6 7 8
/ / app / config / config . php使用ob娱乐下载\组件\DependencyInjection\定义;美元定义=新定义(“ob娱乐下载Symfony \序列化器\ \组件标准化者\ GetSetMethodNormalizer '));美元定义- >addTag (“serializer.normalizer”);美元容器- >setDefinition (“get_set_method_normalizer”,美元定义);
请注意
的GetSetMethodNormalizer是被设计。只要你有一个圆形的对象图,当调用getter方法创建一个无限循环。你鼓励添加自己的标准化者适合你的用例。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。