€0.00 — free as in speechtonight's forecast: clear skies over production Cache: warm · Deploys: fair, 0% rollbacks expectedset by moonlight, shipped before dawn · deploy freely Page A2

❦The Daily Commit❦ ☾The Nightly Build☽

Dev news, typeset daily — PHP · AI · The Wider Stack

The developer's evening paper — PHP · AI · The Wider Stack

mercredi 30 septembre 2026 Vol. I — No. 679 · Édition du matinÉdition du soir EN DE FR ES

PHP · RFC Watch

PHP 8.7 pourrait intégrer une API de terminal native

Pratik Bhujel propose Io\Terminal pour PHP 8.7.

sélectionné par Sönke

Cette API ajouterait à ext/standard des sessions de terminal natives, la lecture de la taille du terminal, un mode brut restauré de manière sûre, des entrées clavier normalisées et la saisie masquée. Une implémentation réduite est disponible dans la pull request 23941 de php-src. Le RFC utilise Time\Duration pour les délais et sollicite des retours avant le vote.

Pratik Bhujel a soumis un RFC pour Io\Terminal, une API proposée pour PHP 8.7. Cette interface compacte serait intégrée à ext/standard. Elle couvrirait les sessions de terminal, les requêtes natives sur la taille du terminal, un mode brut avec restauration sûre, la normalisation des touches et la saisie masquée.

Le projet fait suite à une discussion antérieure de php-internals sur les outils natifs pour les terminaux. Les intégrations avec Symfony Console et TUI ont recentré le noyau sur les fonctions qui nécessitent une prise en charge native multiplateforme. Le RFC regroupe aussi les échanges précédents, dont certaines réponses avaient été réparties dans plusieurs fils d’archives.

Une implémentation de référence existe déjà sous la forme de ext-terminal. Elle est distribuée via PIE et Packagist sous le nom prateekbhujel/php-terminal. Une implémentation préliminaire pour php-src figure dans la pull request 23941. Elle suit l’API centrale réduite et ne reprend pas toute la surface de ext-terminal 1.x.

Le design proposé utilise Time\Duration pour les délais d’attente. Aucun constructeur public n’est exposé. Les alias de compatibilité, les solutions de repli basées sur l’environnement pour la taille du terminal et les API pratiques sont exclus de la première version du noyau. Bhujel demande des retours avant le vote.

Lire la source originale (en anglais) ↗

Évaluer cet article : 0

Tribune des lecteurs

Pas encore de contributions — lance le débat.

← The Daily CommitThe Nightly Build — Page A1