Funciones soportadas
TrueAsync adapta más de 70 funciones estándar de PHP para operación no bloqueante dentro de corrutinas.
Todas las funciones listadas se vuelven automáticamente asíncronas cuando se llaman dentro de una corrutina.
Fuera de una corrutina, funcionan como siempre.
DNS
| Función |
Descripción |
gethostbyname() |
Resolver nombre de host a dirección IP |
gethostbyaddr() |
Resolución inversa de dirección IP a nombre de host |
gethostbynamel() |
Obtener lista de direcciones IP para un nombre de host |
Bases de datos
PDO MySQL
| Función |
Descripción |
PDO::__construct() |
Conexión no bloqueante |
PDO::prepare() |
Preparar consulta |
PDO::exec() |
Ejecutar consulta |
PDOStatement::execute() |
Ejecutar consulta preparada |
PDOStatement::fetch() |
Obtener resultados |
PDO PgSQL
| Función |
Descripción |
PDO::__construct() |
Conexión no bloqueante |
PDO::prepare() |
Preparar consulta |
PDO::exec() |
Ejecutar consulta |
PDOStatement::execute() |
Ejecutar consulta preparada |
PDOStatement::fetch() |
Obtener resultados |
Pool de conexiones PDO
Pool de conexiones transparente para PDO mediante integración con Async\Pool.
Cada corrutina recibe su propia conexión del pool con gestión automática del ciclo de vida.
MySQLi
| Función |
Descripción |
mysqli_connect() |
Conexión no bloqueante |
mysqli_query() |
Ejecutar consulta |
mysqli_prepare() |
Preparar consulta |
mysqli_stmt_execute() |
Ejecutar consulta preparada |
mysqli_fetch_*() |
Obtener resultados |
PostgreSQL (nativo)
| Función |
Descripción |
pg_connect() |
Conexión no bloqueante |
pg_query() |
Ejecutar consulta |
pg_prepare() |
Preparar consulta |
pg_execute() |
Ejecutar consulta preparada |
pg_fetch_*() |
Obtener resultados |
Cada contexto async utiliza una conexión separada para concurrencia segura.
CURL
| Función |
Descripción |
curl_exec() |
Ejecutar solicitud |
curl_multi_exec() |
Ejecutar múltiples solicitudes |
curl_multi_select() |
Esperar actividad |
curl_multi_getcontent() |
Obtener contenido |
curl_setopt() |
Establecer opciones |
curl_getinfo() |
Obtener información de solicitud |
curl_error() |
Obtener error |
curl_close() |
Cerrar handle |
Sockets
| Función |
Descripción |
socket_create() |
Crear socket |
socket_create_pair() |
Crear par de sockets |
socket_connect() |
Conectar |
socket_accept() |
Aceptar conexión |
socket_read() |
Leer datos |
socket_write() |
Escribir datos |
socket_send() |
Enviar datos |
socket_recv() |
Recibir datos |
socket_sendto() |
Enviar a dirección |
socket_recvfrom() |
Recibir de dirección |
socket_bind() |
Vincular a dirección |
socket_listen() |
Escuchar |
socket_select() |
Monitorear actividad de sockets |
E/S de archivos y flujos
| Función |
Descripción |
fopen() |
Abrir archivo |
fclose() |
Cerrar archivo |
fread() |
Leer de archivo |
fwrite() |
Escribir en archivo |
fgets() |
Leer línea |
fgetc() |
Leer carácter |
fgetcsv() |
Leer línea CSV |
fputcsv() |
Escribir línea CSV |
fseek() |
Establecer posición |
ftell() |
Obtener posición |
rewind() |
Restablecer posición |
ftruncate() |
Truncar archivo |
fflush() |
Vaciar búferes |
fscanf() |
Lectura formateada |
file_get_contents() |
Leer archivo completo |
file_put_contents() |
Escribir archivo completo |
file() |
Leer archivo en array |
copy() |
Copiar archivo |
tmpfile() |
Crear archivo temporal |
readfile() |
Mostrar archivo |
fpassthru() |
Mostrar resto del archivo |
stream_get_contents() |
Leer resto del flujo |
stream_copy_to_stream() |
Copiar entre flujos |
Sockets de flujo
| Función |
Descripción |
stream_socket_client() |
Crear conexión cliente |
stream_socket_server() |
Crear socket servidor |
stream_socket_accept() |
Aceptar conexión |
stream_select() |
Monitorear actividad de flujos |
stream_context_create() |
Crear contexto async |
Limitación: stream_select() con flujos pipe (ej. de proc_open()) no está soportado en Windows. En Linux/macOS funciona nativamente a través del bucle de eventos.
Ejecución de procesos
| Función |
Descripción |
proc_open() |
Abrir proceso con pipes |
proc_close() |
Cerrar proceso |
exec() |
Ejecutar comando externo |
shell_exec() |
Ejecutar comando shell |
system() |
Ejecutar comando del sistema |
passthru() |
Ejecutar con salida directa |
Temporizadores y retardos
| Función |
Descripción |
sleep() |
Retardo en segundos |
usleep() |
Retardo en microsegundos |
time_nanosleep() |
Retardo con precisión de nanosegundos |
time_sleep_until() |
Esperar hasta marca de tiempo |
Búfer de salida
Cada corrutina recibe un búfer de salida aislado.
| Función |
Descripción |
ob_start() |
Iniciar búfer |
ob_flush() |
Vaciar búfer |
ob_clean() |
Limpiar búfer |
ob_get_contents() |
Obtener contenido del búfer |
ob_end_clean() |
Finalizar búfer |
Aún no soportado
Funciones planificadas para implementación o aún no adaptadas.
DNS
| Función |
Descripción |
dns_check_record() / checkdnsrr() |
Verificar registro DNS |
dns_get_mx() / getmxrr() |
Obtener registros MX |
dns_get_record() |
Obtener registros DNS |
Bases de datos
| Extensión |
Descripción |
| PDO ODBC |
Controlador ODBC |
| PDO Oracle |
Controlador Oracle |
| PDO SQLite |
Controlador SQLite |
| PDO Firebird |
Controlador Firebird |
| MongoDB |
Cliente MongoDB |
| Función |
Descripción |
flock() |
Bloqueo de archivos |
opendir() / readdir() / closedir() |
Recorrido de directorios |
unlink() / rename() |
Eliminación y renombrado de archivos |
mkdir() / rmdir() |
Creación y eliminación de directorios |
stat() / lstat() |
Información de archivos |
readlink() |
Lectura de enlaces simbólicos |
Nota: Las operaciones de metadatos de archivos en disco local se completan en microsegundos. Su asincronía solo tiene sentido para sistemas de archivos en red (NFS).
¿Qué sigue?