Damian Jóźwiak hat einen RFC für eine eigenständige ext/csv-Erweiterung im PHP-Kern veröffentlicht. Die RFC-Seite steht im PHP-Wiki, die Implementierung liegt als GitHub-Pull-Request 24199 vor. Grundlage ist die unter BSD-3-Clause veröffentlichte Erweiterung girgias/csv von Gina Peter Banyard. Der Entwurf ergänzt diesen Ansatz um Datei- und Stream-Verarbeitung. Eine wichtige Motivation ist die Deprecation der CSV-Methoden von SplFileObject in PHP 8.6.

Die erste API umfasst sechs Funktionen und eine Klasse im Namespace Csv\. Parsen und Serialisieren folgen standardmäßig RFC 4180. Die Verarbeitung ist unabhängig von der Locale und verwendet den proprietären Escape-Mechanismus nicht. Trennzeichen, Einschlusszeichen und Zeilenende-Sequenzen dürfen aus mehreren Bytes bestehen. Für Collections ist strikte und tolerante Verarbeitung vorgesehen. CSV-Dateien lassen sich verzögert iterieren, Ausgaben lassen sich streamen.

PHPT-Tests decken Parsen, Serialisieren, Streams, die Lebensdauer von Ressourcen und verschiedene Sonderfälle ab. Die CI läuft derzeit auf den getesteten Plattformen erfolgreich, auch in Debug-, ZTS- und AddressSanitizer-Konfigurationen. Eine umfassendere objektorientierte Reader/Writer-API mit Capability-orientierten Interfaces bleibt einer möglichen späteren Diskussion vorbehalten. Jóźwiak bittet um Rückmeldungen zur öffentlichen API, zum Namen LazyLaxCollection und zur Frage, ob die Erweiterung immer aktiviert oder beim Build optional sein soll.

Gina Peter Banyard hat den RFC laut Jóźwiak weder geprüft noch unterstützt. Teile der Implementierung seien mit Unterstützung von LLMs entstanden. Jóźwiak erklärt, dass er den Code geprüft und die Verantwortung für den Beitrag übernommen hat. Die Nachricht eröffnet eine Diskussion, eine Abstimmung ist nicht vorgesehen.