Hi,
I propose deprecating SplFileObject CSV methods like fputcsv, fgetcsv,
setCsvControl, and getCsvControl.
These APIs are complex and hard to maintain, and named arguments expose
design inconsistencies, causing long-standing issues.
We should consider replacing them with a dedicated ext/csv that provides a
cleaner, stream-friendly CSV API.
https://github.com/php/php-src/pull/22160
Regards.
Arshid
Hi,
I propose deprecating SplFileObject CSV methods like fputcsv, fgetcsv, setCsvControl, and getCsvControl.
These APIs are complex and hard to maintain, and named arguments expose design inconsistencies, causing long-standing issues.
We should consider replacing them with a dedicated ext/csv that provides a cleaner, stream-friendly CSV API.
If you provide me with text proposal (ideally in DokuWiki format, but markdown is fine) I'm happy to include it in the bulk RFC.
I will however not be writing it myself.
Best regards,
Gina P. Banyard
On Tue, Jun 23, 2026 at 9:56 AM Muhammed Arshid KV arshidkv12@gmail.com
wrote:
Hi,
I propose deprecating SplFileObject CSV methods like fputcsv, fgetcsv,
setCsvControl, and getCsvControl.These APIs are complex and hard to maintain, and named arguments expose
design inconsistencies, causing long-standing issues.We should consider replacing them with a dedicated ext/csv that provides
a cleaner, stream-friendly CSV API.https://github.com/php/php-src/pull/22160
Regards.
Arshid
Hi Arshid,
While I agree that CSV handling can and should be improved in core PHP,
deprecating the current API without providing at least the start of a
replacement API seems premature to me.
We should first focus on providing a better/improved CSV experience in PHP.
Then, if:
- we all agree on a new API
- everyone starts using it and it becomes popular
- and the path to migrate to the new API is made as straightforward as
possible
then we can start discussing the process of deprecating the current
feature. Anything else would be counterproductive at the moment.
Best regards,
Ignace
On Tue, Jun 23, 2026 at 8:36 AM ignace nyamagana butera nyamsprod@gmail.com
wrote:
On Tue, Jun 23, 2026 at 9:56 AM Muhammed Arshid KV arshidkv12@gmail.com
wrote:Hi,
I propose deprecating SplFileObject CSV methods like fputcsv, fgetcsv,
setCsvControl, and getCsvControl.These APIs are complex and hard to maintain, and named arguments expose
design inconsistencies, causing long-standing issues.We should consider replacing them with a dedicated ext/csv that provides
a cleaner, stream-friendly CSV API.https://github.com/php/php-src/pull/22160
Regards.
Arshid
Hi Arshid,
While I agree that CSV handling can and should be improved in core PHP,
deprecating the current API without providing at least the start of a
replacement API seems premature to me.
We should first focus on providing a better/improved CSV experience in
PHP. Then, if:
- we all agree on a new API
- everyone starts using it and it becomes popular
- and the path to migrate to the new API is made as straightforward as
possiblethen we can start discussing the process of deprecating the current
feature. Anything else would be counterproductive at the moment.Best regards,
Ignace
Can we deprecate the error suppression operator?
(Not a serious suggestion - just trying to elicit a laugh - ok, ok, I'll go
back to the dunce corner.)