ask/序列化

此包已被废弃,不再维护。没有建议的替代包。

包含 Ask 查询语言 PHP 实现的序列化和反序列化程序的库

1.0.3 2014-11-25 15:37 UTC

This package is not auto-updated.

Last update: 2020-08-31 06:02:41 UTC


README

此库不再开发,也不再维护。

Ask 序列化

包含 Ask 查询语言 PHP 实现的序列化和反序列化程序的库。

Build Status Code Coverage Scrutinizer Quality Score Dependency Status

在 Packagist 上:最新稳定版本 下载次数

安装

您可以使用 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反序列化器

链接