PHP RFC: True Async

El proyecto TrueAsync avanza a través del proceso oficial de RFC en wiki.php.net. Hasta el momento se han publicado dos RFC que describen el modelo básico de concurrencia y la concurrencia estructurada.

RFC #1 — PHP True Async

Autor: Edmond [HT] Versión: 1.7 Versión objetivo: PHP 8.6+ Under Discussion

El RFC principal que define el modelo de concurrencia para PHP. Describe corrutinas, funciones spawn() / await() / suspend(), el objeto Coroutine, las interfaces Awaitable y Completable, el mecanismo de cancelación cooperativa, la integración con Fiber, manejo de errores y graceful shutdown.

Principios clave:

Leer RFC en wiki.php.net →

RFC #2 — Scope y concurrencia estructurada

Autor: Edmond [HT] Versión: 1.0 Draft

Extensión del RFC base. Introduce la clase Scope, que vincula el tiempo de vida de las corrutinas al ámbito léxico. Describe la jerarquía de scopes, propagación de errores, la política de corrutinas «zombi» y secciones críticas mediante protect().

Qué resuelve:

Leer RFC en wiki.php.net →

Cómo se relacionan estos RFC

El primer RFC define primitivas de bajo nivel — corrutinas, funciones base y API C para extensiones. El segundo RFC añade concurrencia estructurada — mecanismos para gestionar grupos de corrutinas que hacen el código concurrente seguro y predecible.

Juntos forman un modelo completo de programación asíncrona para PHP:

  RFC #1: True Async RFC #2: Scope
Nivel Primitivas Gestión
Ofrece spawn(), await(), Coroutine Scope, TaskGroup, protect()
Analogías Go goroutines, Kotlin coroutines Kotlin CoroutineScope, Python TaskGroup
Objetivo Ejecutar código concurrente Gestión segura del ciclo de vida

Participa en la discusión

Los RFC se discuten en la lista de correo internals@lists.php.net y en GitHub Discussions.

También únete a la conversación en Discord.