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.