pavlyuts/php-csv-objects

处理复杂的CSV多字符串对象

0.1.2 2023-02-19 18:27 UTC

This package is auto-updated.

Last update: 2024-09-19 22:10:27 UTC


README

用途

CSV格式被广泛用于导出/导入具有更复杂结构的结构化文档:一些字段是文档级别的,在每个行中重复,而其他字段是行级别的。最常见的例子是发票:客户ID和名称、账单地址和其他标题级别的字段在每个行中重复,而其他列包含发票行数据,如销售项目、数量和价格。

该库背后的理念是提供基于"配置文件"的简单且可配置的工具来处理这类"结构化CSV",其中"配置文件"描述CSV文件结构和处理规则。

因此,使用此库至少需要以下步骤

  • 创建CSV "配置文件"数据结构以定义处理规则
  • 从文件创建集合并获取表示CSV编码实体的类实例数组

在简单的情况下,您可能不需要额外的代码。对于更复杂的情况,您可能需要扩展实体类以添加您的功能或添加字段处理函数

  • 创建一个Entity子类以对您的"文档"进行额外的处理
  • 创建自定义字段类以在导出和导入时进行复杂的验证和处理

请参阅Wiki中的详细信息和文档

安装

在Composer存储中。只需添加适当的require部分

"require": {
    "pavlyuts/csv-objects": "^0.1"
}

固定至少主要版本是一个好主意。不要在没有审查的情况下使用下一个版本,我无法保证向后兼容性,即使我会尽力保持它。请在更改使用版本之前,请审查变更日志

依赖

  • psr/log: ^1.1
  • rmccue/requests: ^1.7