如何创建自定义编码器
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
如何创建自定义编码器
的序列化器组件使用归一化器将任何数据转换为数组。然后,通过杠杆编码器,该数据可以转换为任何数据结构(例如JSON)。
组件提供了几个内置编码器在他们自己的区域但您可能希望使用另一种不受支持的结构。
创建一个新的编码器
假设您想序列化和反序列化Yaml。为此,您必须创建自己的编码器使用Yaml组件:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
名称空间AppBundle\序列化器;使用ob娱乐下载\组件\序列化器\编码器\DecoderInterface;使用ob娱乐下载\组件\序列化器\编码器\EncoderInterface;使用ob娱乐下载\组件\Yaml\Yaml;类YamlEncoder实现了EncoderInterface,DecoderInterface{公共函数编码($数据,$格式数组,$上下文= []){返回Yaml::转储($数据);}公共函数supportsEncoding($格式数组,$上下文= []){返回yaml的= = =$格式;}公共函数解码($数据,$格式数组,$上下文= []){返回Yaml::解析($数据);}公共函数supportsDecoding($格式数组,$上下文= []){返回yaml的= = =$格式;}}
在你的应用中注册它
如果您使用Symfony框架。ob娱乐下载那么你可能想要在你的应用程序中注册这个编码器作为一个服务默认的服务。yml配置,这是自动完成的!
提示
如果不使用自动配置,请确保将类注册为服务并标记为serializer.encoder
.
现在您将能够序列化和反序列化Yaml!
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。