Asincronía real dentro de PHP
Escribe síncrono. Ejecuta asíncrono.
Imagina PHP con corrutinas, donde las funciones habituales soportan E/S concurrente. ¡Crea aplicaciones concurrentes de alto rendimiento con código limpio, legible y cambios mínimos!
// three coroutines run at the same time
$page = spawn(fn() => file_get_contents($url));
$rows = spawn(fn() => $pdo->query($sql)->fetchAll());
$stats = spawn(fn() => file_get_contents($api));
// wait for all three, cancel after 2s
[$html, $data, $meta] = await_all_or_fail(
[$page, $rows, $stats], timeout(2000));API lista para producción
Corrutinas
Corrutinas ligeras para una ejecución concurrente eficiente. Sin funciones async coloreadas. Simplemente haz spawn() y listo.
I/O no bloqueante
fread, fwrite, file_get_contents, ob_start, curl, MySQL, PostgreSQL. Las funciones habituales de PHP ahora funcionan de forma asíncrona sin esfuerzo adicional.
TrueAsync Server
Servidor web nativo en C con soporte para HTTP/1.1, HTTP/2 y HTTP/3, directamente dentro del proceso PHP.
Cancelación cooperativa
API simple y flexible para cancelar corrutinas. Scope::cancel().
Concurrencia estructurada
Control del ciclo de vida de las corrutinas mediante el sandbox Scope. Gestión de grupos de corrutinas con TaskGroup.
PDO Pool
Pool de conexiones integrado directamente en PDO. Gestión automática de conexiones para máximo rendimiento.
Channel · ThreadPool
Intercambio de datos entre corrutinas. Canales con y sin búfer para patrones producer/consumer. Entre hilos via ThreadChannel; tareas CPU paralelas con Thread y ThreadPool.
Futures
Resultados diferidos para cálculos asíncronos. Composición mediante await_all, await_first.
PHP Mobile
Soporte de Android a nivel del núcleo de PHP: un runtime asíncrono dentro de una app nativa mediante native-bridge.
Aprende TrueAsync en la práctica
Guías prácticas, desde tu primera corrutina hasta la concurrencia estructurada y el servidor integrado.
Corrutinas
Tu primer contacto con las corrutinas: spawn() y ejecución concurrente.
Scope
Quién es dueño de un grupo de corrutinas, las espera y las cancela en conjunto.
PDO Pool
Por qué las corrutinas no pueden compartir una conexión PDO, y cómo el pool integrado lo resuelve de forma transparente.
Hilos
spawn_thread y ThreadPool: paralelismo real para trabajo intensivo en CPU.
Primer servidor
Un servidor HTTP dentro de PHP: HttpServer, HttpServerConfig y tu primer handler.
WebSocket
El bucle recv, una sala de chat, enviar desde otras corrutinas y trySend frente a clientes lentos.