Coming in the next minor version of #LeagueCSV the JsonConverter #ndjson support is improved you can now do the following

In a nutshell currently the package can

- read, write, query, transform CSV
- convert record to DTO
- interact via stream filter
- can handle any tabular data like structure

And all the features are decoupled from the core package functionality (ie you can use all the features to manipulate structure other than CSV document independently)

And all this with zero external dependencies.

Hence why I believe v9 development is done!!!

#LeagueCSV #oss #php

thinking about pausing the development of #LeagueCSV not that I do not have more ideas but I believe I am at a crossroad between adding more features vs starting plan for v10 đŸ€· both requires a lot of time and resources which I do not have currently. and TBH I believe all the goals set out for v9 are now achieved and completed

League/csv 9.22.0 is out with a brand new class that seats between the Reader and the Writer called the Buffer. It allows buffering you CSV document and performing some CRUD operation on the data before storing it. You can do a lot more with it check the documentation https://csv.thephpleague.com/9.0/writer/buffer/

#php #csv #LeagueCSV

Tabular Data Buffer - CSV

Working with CSV can often be much more difficult than you expect, with different types of delimiters and complicated structures. This library makes it easy to read and write almost anything.

I've been working on a new feature for league/csv 9.22 It is totally optional completely useless for 99.9% of the time but when you will be in a scenario where you need it you will be glad it exists.

#LeagueCSV #php #oss

Reason #34556 I love final in libraries. #PHP8.4 introduced a new DOM extension that #LeagueCSV should use. If the class I need to update was final this would be straightforward and no-one would even notice. But because it is not, I have to perform some intellectual gymnastic to add support for modern DOM extension without BC breaking any "protected" methods to reduce BC on any class that extends the class.(which IMHO they should not have done in the first place). #OSS life
OK this still need some ironing but... in #LeagueCSV 9.22.0 a new interface is added `TabularData` which enables the following magic 😍 #PHP #interoperability #extension #tabulardata for more information and limitations check the documentation https://csv.thephpleague.com/9.0/reader/resultset/#instantiation
Accessing Records from a CSV document - CSV

Working with CSV can often be much more difficult than you expect, with different types of delimiters and complicated structures. This library makes it easy to read and write almost anything.

Would anyone be interested in a talk around #LeagueCSV I promise it won't be boring. I have never done a talk on it so if you have a PHP group not too far away from Brussels I'll be more than happy to present to your group the package and some hidden gems inside it!!
#LeagueCSV 9.21.0 is out with a full rewrite of the exposed PHP stream filter API to improve its usage. see https://github.com/thephpleague/csv/releases/tag/9.21.0
Release version 9.21.0 · thephpleague/csv

Added TabularDataReader::map method. StreamFilter class CallbackStreamFilter class AbstractCsv::appendStreamFilterOnRead AbstractCsv::appendStreamFilterOnWrite AbstractCsv::prependStreamFilterOnRe...

GitHub
#OSS so what started as a simple issue opened for an unrelated feature became a full rewrite of the Stream Filter API in #LeagueCSV 😂 But I am kind of excited by the new rewrite. It gives more power to the user