PHP RFC: True Async

Il progetto TrueAsync avanza attraverso il processo ufficiale di RFC su wiki.php.net. Finora sono stati pubblicati due RFC che descrivono il modello base di concorrenza e la concorrenza strutturata.

RFC #1 — PHP True Async

Autore: Edmond [HT] Versione: 1.7 Versione target: PHP 8.6+ Under Discussion

L’RFC principale che definisce il modello di concorrenza per PHP. Descrive le coroutine, le funzioni spawn() / await() / suspend(), l’oggetto Coroutine, le interfacce Awaitable e Completable, il meccanismo di cancellazione cooperativa, l’integrazione con Fiber, la gestione degli errori e il graceful shutdown.

Principi chiave:

Leggi il RFC su wiki.php.net →

RFC #2 — Scope e concorrenza strutturata

Autore: Edmond [HT] Versione: 1.0 Draft

Estensione dell’RFC base. Introduce la classe Scope, che lega il tempo di vita delle coroutine all’ambito lessicale. Descrive la gerarchia degli scope, la propagazione degli errori, la politica delle coroutine «zombie» e le sezioni critiche tramite protect().

Cosa risolve:

Leggi il RFC su wiki.php.net →

Come sono collegati questi RFC

Il primo RFC definisce le primitive di basso livello — coroutine, funzioni base e API C per le estensioni. Il secondo RFC aggiunge la concorrenza strutturata — meccanismi per gestire gruppi di coroutine che rendono il codice concorrente sicuro e prevedibile.

Insieme formano un modello completo di programmazione asincrona per PHP:

  RFC #1: True Async RFC #2: Scope
Livello Primitive Gestione
Fornisce spawn(), await(), Coroutine Scope, TaskGroup, protect()
Analogie Go goroutines, Kotlin coroutines Kotlin CoroutineScope, Python TaskGroup
Obiettivo Esecuzione di codice concorrente Gestione sicura del ciclo di vita

Partecipa alla discussione

Gli RFC vengono discussi nella mailing list internals@lists.php.net e su GitHub Discussions.

Unisciti anche alla conversazione su Discord.