PHPackages                             pavlyuts/php-csv-objects - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PDF &amp; Document Generation](/categories/documents)
4. /
5. pavlyuts/php-csv-objects

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

pavlyuts/php-csv-objects
========================

Handle CSV complex multi-string objects

0.1.2(3y ago)024GPL-2.0-or-laterPHP

Since Feb 1Pushed 3y ago1 watchersCompare

[ Source](https://github.com/pavlyuts/php-csv-objects)[ Packagist](https://packagist.org/packages/pavlyuts/php-csv-objects)[ RSS](/packages/pavlyuts-php-csv-objects/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (3)Versions (4)Used By (0)

Profile-based multistring CSV objects handling library
======================================================

[](#profile-based-multistring-csv-objects-handling-library)

Purpose
-------

[](#purpose)

There a lot of scenarions for CSV format used to export/import structured documents with more complex structure: some of fields are document-level and repeated each row and other fields are row-level. The most common example is an invoice: Customer ID and name, billing address and other header-level fields are repeating each row while other columns contains invoice rows data like sell item, quantity and price.

The idea behing the library is to provide easy and configurable gear to handle this kind of "structured CSV", based on "profile", describig CSV file structures and handling rules.

So, with this lib you need at least:

- Create CSV "profile" data structure to define processing rules
- Create collecton from file and got an array of class instances, representing the CSV encoded entities

In a simple case you need no extra code. For more complex scenarios you may extent Entity class with your features or add field processing functions

- Create a subclass of `Entity` to do extra handling on your 'documents'
- Create custome field classes for sophisticated validation and processing on export and import

[See details and docs in Wiki](https://github.com/pavlyuts/csv-objects/wiki)

Installation
------------

[](#installation)

In the Composer storage. Just add proper require section:

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

```

It is a good idea to fix at least major version you use. Don't use next version without review, I can't promose backward compatibility even will try to keep it. Please, review the [changelog](https://github.com/pavlyuts/csv-objects/blob/master/CHANGELOG.MD) before to change used version.

Dependencies
------------

[](#dependencies)

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

###  Health Score

19

—

LowBetter than 9% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Total

3

Last Release

1230d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/51fb7e1bfe1a741b842ccaffe58a95229f1afa531676dff7d14e61cda27a9ae7?d=identicon)[pavlyuts](/maintainers/pavlyuts)

---

Top Contributors

[![pavlyuts](https://avatars.githubusercontent.com/u/6569739?v=4)](https://github.com/pavlyuts "pavlyuts (12 commits)")

---

Tags

exportcsvimportmultistring

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/pavlyuts-php-csv-objects/health.svg)

```
[![Health](https://phpackages.com/badges/pavlyuts-php-csv-objects/health.svg)](https://phpackages.com/packages/pavlyuts-php-csv-objects)
```

###  Alternatives

[maatwebsite/excel

Supercharged Excel exports and imports in Laravel

12.9k157.3M894](/packages/maatwebsite-excel)[league/csv

CSV data manipulation made easy in PHP

3.5k182.1M860](/packages/league-csv)[goodby/csv

CSV import/export library

9865.7M25](/packages/goodby-csv)[handcraftedinthealps/goodby-csv

CSV import/export library

441.8M7](/packages/handcraftedinthealps-goodby-csv)[ufirst/lang-import-export

A Laravel package providing artisan commands to import and export language files from and to CSV.

42229.7k](/packages/ufirst-lang-import-export)[shuchkin/simplecsv

Parse and retrieve data from CSV files. Export data to CSV.

52100.9k](/packages/shuchkin-simplecsv)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
