label305 / 皮带
帮助您以内存高效的方式导入/导出数据
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ~5.3
This package is auto-updated.
Last update: 2024-08-29 04:20:00 UTC
README
帮助我们以内存高效的方式生成导出和处理导入。
使用方法
TL;DR 编写一个数据 Provider
,使用 Transformer
转换它,以便您的 Assembler
可以写入持久化存储。
导出/导入不过是从一个数据源转换到另一个数据源并写入的过程。因此,有几个主要部分参与其中:Provider
、Transformer
、Assembler
和 Persister
。
Provider
负责为系统提供数据。使用生成器函数、文件、流或数据库可以读取并作为 DataBags
提供数据,DataBag
是一个简单的键/值存储,系统可以通过它来处理。
现在每个 DataBag
都会通过一个 Transformer
,它将创建一个(关联)数组。这个 Transformer
将“决定”输出将如何呈现,并决定字段顺序、可用字段等。
转换后,Assembler
将接管,这是实际创建输出的步骤。这可以是一行 CSV,但,由于它知道自己的局限性,也可以是一个组合的关联数组,在完成所有操作后,它将编译成一个 JSON blob。
这个 Assembler
步骤还将管理传递给 Persister
的内容。这可能是由您自己存储库或我们从 FilePersister
借来的存储库,如 CSV 的案例,将每行整齐地依次写入。
许可证
版权所有 2016 Label305 B.V.
根据 Apache 许可证 2.0 版(“许可证”);除非遵守许可证规定,否则不得使用此文件。您可以在以下位置获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言规范权限和限制,请参阅许可证。