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.




Commentaires
Pas encore de commentaire — écris le premier.
Lance la discussion
Pas de compte ni de mot de passe — saisis simplement ton adresse e-mail et nous t’envoyons un lien de connexion à usage unique. Première visite ? Tout se met en place automatiquement.
Ton évaluation sera appliquée automatiquement après ta connexion.
Vérifie ta boîte mail
Nous avons envoyé un lien de connexion à …. Ouvre-le sur cet appareil — cet onglet te connectera automatiquement.
Rien reçu ? Vérifiez le dossier spam — et marquez le message « Non spam » pour qu'il arrive directement la prochaine fois.