ask / 序列化
包含 Ask 查询语言 PHP 实现的序列化和反序列化程序的库
Requires
- php: >=5.3.0
- ask/ask: ~1.0
- data-values/data-values: ~1.0|~0.1
- serialization/serialization: ~3.1
Requires (Dev)
This package is not auto-updated.
Last update: 2020-08-31 06:02:41 UTC
README
此库不再开发,也不再维护。
Ask 序列化
包含 Ask 查询语言 PHP 实现的序列化和反序列化程序的库。
安装
您可以使用 Composer 下载和安装此包及其依赖项。或者,您可以简单地克隆 git 仓库并自行处理加载。
要将此包添加为项目本地依赖项,只需在项目的 composer.json
文件中添加对 ask/serialization
的依赖。以下是一个只定义 Ask 1.0 依赖的最小 composer.json
文件示例
{
"require": {
"ask/serialization": "1.0.*"
}
}
库结构
Ask 语言对象都可以序列化为一种通用格式,该格式可以从中重新构建对象。这是通过实现对象的 Serializers/Serializer
集合来完成的。这些对象将查询对象等转换为仅包含原始类型和数组的结构。因此,可以将该结构轻松地输入到 json_encode、serialize 等中。从此类序列化中重新构建对象的进程由实现 Deserializers/Deserializer
接口的对象提供。
可以通过 SerializerFactory
实例获取序列化程序,并通过 DeserializerFactory
实例获取反序列化程序。您不允许直接构造这些序列化程序和反序列化程序,也不允许有任何关于它们的知识(即类型提示)。这些对象是 Ask 库内部的,可能会随时更改名称或结构。当调用 $serializerFactory->newQuerySerializer()
时,您唯一允许知道的是您将返回一个 Serializers\Serializer
实例。
测试
此库附带一套 PHPUnit 测试,覆盖了所有非平凡代码。您可以使用根目录中找到的 PHPUnit 配置文件运行这些测试。测试也可以通过 TravisCI 运行,因为根目录中还提供了一个 TravisCI 配置文件。
作者
Ask是由Jeroen De Dauw编写的,他是德国维基媒体的员工,为维基数据项目编写。
发布说明
1.0.3 (2014-11-25)
现在支持与DataValues 1.x一起安装。
1.0.2 (2014-07-24)
- 当与MediaWiki一起加载时,此库现在在Special:Version中的“其他”部分显示。
- 将类加载从PSR-0切换到PSR-4
1.0.1 (2014-04-02)
- 切换到使用Serialization的3.x版本和数据值序列化的1.x版本。
1.0 (2013-12-05)
这些功能是初始发布时的特点
- 所有实现的语言对象Ask序列化器
- 所有实现的语言对象Ask反序列化器