维基数据库/数据模型序列化

Wikibase DataModel的序列化程序和反序列化程序

2.9.1 2018年12月14日09:59 UTC

自述文件

生成状态 审查员质量分数 代码覆盖率 下载计数 许可证

最新稳定版本 最新不稳定版本

包含基本的序列化程序和反序列化程序的库Wikibase数据模型实体类型及其组件由制成。支持的格式仅限于公共格式,即web API使用的格式。私有格式的序列化代码,例如Wikibase使用的格式回购数据访问层,属于其他组件。

最近的更改可以在发行说明.

安装

建议使用此库的方法是通过作曲家.

作曲家

要将此包作为本地、项目间的依赖项添加到项目中,只需添加一个依赖于wikibase/数据模型序列化到您的项目作曲家.json文件。下面是一个最小的示例作曲家.json仅定义依赖项的文件此软件包的2.0版:

{“需要”: {“wikibase/data-model-serialization”:"约2.0"}}

手动

通过git或其他方式获取此包的代码。还要获取所有依赖项。您可以在composer.json文件的“require”部分找到依赖项列表。然后注意自动加载src目录中定义的类。

图书馆使用

通过适当的工厂构造所需的特定反序列化程序或序列化程序的实例。

使用 维基数据库\数据模型\反序列化工厂;$反序列化工厂=新的 反序列化工厂(/**/);$项反序列化程序=$反序列化工厂->newItemDeserializer();

然后使用反序列化序列化方法。

$项目=$项反序列化程序->反序列化($myItemSerialization(myItemSerial化));

在反序列化的情况下,防止失败是一种很好的做法。因此,通常最好使用稍微详细一点的try-catch方法。

尝试{$项目=$项反序列化程序->反序列化($myItemSerialization(myItemSerial化));}抓住(反序列化异常 $) {//异常的处理}

所有对此库提供的服务的访问都应该通过序列化程序工厂和反序列化程序工厂。代码的其余部分是一个实现用户不应该知道的细节。

图书馆结构

Wikibase DataModel对象都可以序列化为通用格式,对象从该格式以后可以重建。这是通过一组序列化程序\序列化程序实现对象。例如,这些对象将声明对象转换为只包含原语的数据结构类型和数组。因此,可以很容易地将此数据结构输入到json编码,序列化,或类似。从这样的序列化中重建对象的过程由以下提供对象实现反序列化程序\反序列化程序接口。

序列化程序可以通过的实例获得序列化程序工厂可以获得反序列化器通过的实例反序列化工厂。不允许您构造这些序列化程序和直接反序列化程序,或者对它们有任何了解(即类型提示)。这些对象是此组件的内部对象,可能随时更改名称或结构。你们所有人允许在呼叫时知道$serializerFactory->newItemDeserializer()你回来了吗的实例序列化程序\序列化程序.

运行测试

仅用于测试

作曲家测试

仅用于样式检查

作曲家cs

对于完整CI运行

作曲家词

作者

Wikibase DataModel序列化由编写托马斯·PT作为志愿者和依据杰罗恩·德道夫作为德国维基媒体的员工Wikidata项目.

链接

另请参见

幻影机上的错误

https://phaulibor.wikimedia.org/project/view/922/