Muhammed Arshid KV schlug vor, die CSV-Methoden von SplFileObject — fputcsv(), fgetcsv(), setCsvControl() und getCsvControl() — im Rahmen des Deprecations-RFC für PHP 8.6 abzukündigen. Begründung: Die APIs seien komplex und schwer wartbar, und Named Arguments offenbarten Design-Inkonsistenzen, die seit langem Probleme verursachten. Als Ersatz schwebt ihm eine dedizierte ext/csv mit sauberer, stream-freundlicher CSV-API vor; er verlinkte den Pull Request php-src#22160.
Gina P. Banyard, Autorin des Sammel-RFC, erklärte sich bereit, einen ausformulierten Vorschlag aufzunehmen (vorzugsweise im DokuWiki-Format, Markdown ebenfalls akzeptabel), würde ihn aber nicht selbst verfassen.
Ignace Nyamagana Butera wandte ein, eine Deprecation ohne zumindest ansatzweise vorhandenen Ersatz sei verfrüht. PHP solle zuerst eine bessere CSV-API liefern; erst wenn die Community sich darauf geeinigt habe, diese verbreitet genutzt werde und ein einfacher Migrationspfad existiere, sei eine Deprecation sinnvoll.
Takuya Aramaki pflichtete kurz vor Ende der Abstimmung bei und nannte zwei konkrete Punkte. Erstens nennt der RFC kein Migrationsziel: Die prozedurale Funktion fputcsv() bleibt zwar bestehen, erwartet aber eine Stream-Ressource und ist daher kein Drop-in-Ersatz für Code, der auf SplFileObject aufbaut. Zweitens ist das Flag SplFileObject::READ_CSV nicht Teil des Vorschlags. Da setCsvControl() die einzige Möglichkeit ist, Delimiter, Enclosure und Escape-Zeichen für READ_CSV zu konfigurieren (der Konstruktor akzeptiert sie nicht), würde das Entfernen von setCsvControl() in PHP 9 bei bestehendem READ_CSV das Flag dauerhaft auf seine Defaults festlegen — wobei der Standardwert von $escape selbst bereits als veraltet markiert ist und sich ändern soll. READ_CSV solle entweder zusammen mit den vier Methoden abgekündigt werden, oder setCsvControl() solle bis zu einem Ersatz erhalten bleiben.
Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Nichts angekommen? Wirf einen Blick in den Spam-Ordner — und markiere die Mail dort als „Kein Spam“, dann landet sie künftig direkt im Postfach.