编码器
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.8,不再维护。
考虑升级你的Symfony项目6.3。欧宝娱乐app下载地址
编码器
编码器基本上把数组成格式反之亦然。它们实现EncoderInterface对编码格式(数组)和DecoderInterface解码(格式数组)。
您可以添加新的编码器序列化器实例通过使用它的第二个构造函数参数:
1 2 3 4 5 6
使用欧宝娱乐app下载地址\组件\序列化器\序列化器;使用欧宝娱乐app下载地址\组件\序列化器\编码器\XmlEncoder;使用欧宝娱乐app下载地址\组件\序列化器\编码器\JsonEncoder;美元编码器=数组(新XmlEncoder (),新JsonEncoder ());美元序列化器=新序列化器(数组(),美元编码器);
内置编码器
在上面的示例中使用两个编码器:
- XmlEncoder编码/解码XML
- JsonEncoder编码/解码JSON
的XmlEncoder
这个编码器将数组转换为XML,反之亦然。
例如,把一个对象规范如下:
1
数组(“foo”= >数组(1,2),“酒吧”= >真正的);
的XmlEncoder
将这样的编码这个对象:
1 2 3 4 5 6
< ?xml version =“1.0”? ><回答> < foo >1< / foo > < foo >2< / foo > <栏>1< /酒吧> < /响应>
请注意,这个编码器将考虑键开始@
属性:
1 2 3 4 5 6 7
美元编码器=新XmlEncoder ();美元编码器- >编码(数组(“foo”= >数组(“@bar”= >“价值”)));/ /返回:/ /< ?xml version = " 1.0 "? >/ / <反应>/ / < foo酒吧= " value " / >/ / < /响应>
的JsonEncoder
的JsonEncoder
要简单得多,而且通常是基于PHPjson_encode和json_decode功能。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。