lyquidity / utilities
提供元组字典并转换简单XML类为数组的实用类
Requires
- php: >7.0
- ext-hash: *
- ext-json: *
- ext-libxml: *
- ext-simplexml: *
- ext-xml: *
- lib-libxml: *
- lyquidity/xml: dev-master
This package is auto-updated.
Last update: 2024-08-29 04:28:57 UTC
README
目录
关于项目
此项目定义了两个类:TupleDictionary和SimpleXMLElementToArray,以使比较PHP数组和XML片段更加容易。
动机
此项目是独立的,但它是XBRL项目的一部分。
XBRL项目需要能够确定表示键值对集合的两个数组是否相同并针对这些对持有数据。这是通过TupleDictionary类实现的。
有时还需要,例如在检查实例文档中的段或场景时,能够比较两个上下文中定义的段或场景的元素是否相等。SimpleXMLElementToArray类使得将段或场景元素节点下定义的元素转换为数组变得简单,以便可以根据XBRL 2.1规范定义的规则进行比较。
通常需要创建一个临时文件来保存zip内容,然后在整理后删除。MemoryWrapper是一个StreamWrapper实现,它提供了一个命名的内存伪文件,可以用来存储内容。然后可以将“文件名”传递给另一个函数(如file_get_contents()),以便访问内容。当脚本结束时,伪文件将丢失,因此无需显式删除文件。然而,可以显式删除文件以回收内存。
依赖
此项目依赖于pear/log和lyquidity/xml
许可
此项目在GPL版本3.0下发布
这意味着什么?
这意味着您可以按任何您认为合适的方式使用源代码。但是,您所做的任何更改的源代码都必须对他人开放,并且必须以与您收到的此项目源代码相同的条款提供:在GPL v3.0许可下。您必须将此项目的许可包括在任何源代码分发中,无论是分发全部源代码还是其中的一部分。例如,如果您创建了一个从该项目提供的类派生的类(例如一个新的分类法类),则它是派生类。
这并不意味着什么?
这不意味着您创建的仅使用此源代码的任何产品都必须在GPL v3.0下发布。如果您创建了一个使用此项目源代码访问实例文档中的数据的预算应用程序,该应用程序用于将数据传输到预算应用程序,则这不是派生类。
贡献
我们欢迎贡献。有关更多信息,请参阅我们的贡献页面。如果您选择做出贡献,我们将要求您同意我们的贡献者许可协议(CLA)。我们将要求您同意CLA中的条款,以确保其他用户使用的代码不会受到不同许可和专利责任的影响。还强烈建议您审查我们的行为准则。
安装
该项目可以通过 Composer 安装。假设Composer已安装,且程序快捷方式命名为'composer',则安装此项目的命令为:
composer require lyquidity/utilities:dev-master lyquidity/xml:dev-master --prefer-dist
或者 Fork 或下载仓库。源代码位于 'source' 子文件夹中。
入门
test.php 文件包含了使用这些类的方法示例。
假设您已使用 Composer 安装了库,则此 PHP 应用将运行测试。
<?php require_once __DIR__ . '/vendor/autoload.php'; include __DIR__ . "/vendor/lyquidity/utilities/test.php";