Serialization API 数据序列化和反序列化
Drupal 中的 序列化(serialize)
,是指把 PHP 对象转换为 json
、XML
、YAML
或 CSV
之类的文本格式数据的过程。
反序列化(deserialize)
,即是把文本格式数据转换为特定类型 PHP 对象的过程,也就是反过来。
Drupal 的 Serialization API 是基于 Symfony 的 Serializer 组件 的,所以其官方文档很大程度上就是 Drupal 的 Serialization API 的文档, 有必要先阅读一下。
常规化器 与 编码器
序列化的过程被分别两步:
-
常规化(normalize)
:把 PHP 对象转换为 PHP 数组(Array)。 -
编码(encode)
:把 PHP 数组(Array)转换为目标文本格式。
从图中可以看到,不管是 序列化
还是 反序列化
,都会以 PHP 数组为中间格式,
反序列化
过程的两个步骤是:
-
解码(decode)
:把 目标文本格式数据 转换为 PHP 数组(Array)。 -
反常规化(denormalize)
:把 PHP 数组(Array) 转换为 PHP 对象。
完成这两个步骤的组件,分别被称为 常规化器(normalizer)
和 编码器(encoder)
,
它们分别负责 常规化 与 反常规化
和 编码 与 解码
。
登录后查看完整内容