感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
Encoders基本上是把 arrays (数组)转换成 formats (数据格式),反之亦然。对于encoding(array to format/数组到数据格式),它们实现的是 EncoderInterface
接口,而对于decoding (format to array/数据格式到数组),实现的是 DecoderInterface
接口。
通过构造器中的第二个参数,你可以向一个Serializer实例添加新的encoders:
上例使用的两种encoder分别是:
XmlEncoder
用于 encode/decode XMLJsonEncoder
用于 encode/decode JSON这个encoder把数组转换成XML,或者反之。
例如,接收一个下面这样的被标准化过(normalized)的对象:
XmlEncoder
将像这样来encode此对象:
1 2 3 4 5 6 | <?xml version="1.0"?>
<response>
<foo>1</foo>
<foo>2</foo>
<bar>1</bar>
</response> |
注意这个encoder将把以 @
开头的键视为属性(attributes):
将返回:
1 2 3 4 | <?xml version="1.0"?>
<response>
<foo bar="value" />
</response> |
JsonEncoder
要简单得多,它是基于PHP的 json_encode
和 json_decode
函数。
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。