The Daily Commit · Ressort-Ausgabe Titelseite PHP AI Dev EN DE FR ES

The Php Times

RFC-Watch — Ökosystem

PHP diskutiert eine eigene CSV-Erweiterung


Damian Jóźwiak hat die Diskussion über eine neue ext/csv-Erweiterung im PHP-Kern eröffnet.

PHP INTERNALS ([RFC]/[VOTE]), 9. Oktober 2026 kuratiert von Sönke

Anlass ist auch die für PHP 8.6 angekündigte Deprecation der CSV-Methoden von SplFileObject. Der Entwurf bietet eine kompakte Csv\-API mit RFC-4180-Standardverhalten, mehrbytefähigen Trennzeichen, verzögerter Dateiverarbeitung und Streaming. Gesucht wird Feedback, noch keine Abstimmung.

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.

Originalquelle lesen (Englisch) ↗

Artikel bewerten: 0

Leserforum

Noch keine Beiträge — eröffne die Debatte.

← Ökosystem — Page B1

"All the Code That's Fit to Ship" · The Daily Commit · Bildschirm-Ausgabe · Impressum · Datenschutz