Version expérimentale

De véritables primitives asynchrones pour PHP

Imaginez PHP avec des coroutines, où les fonctions familières prennent en charge les E/S concurrentes. Créez des applications concurrentes haute performance avec un code propre et lisible, et un minimum de modifications !

Fonctionnalités clés

Coroutines

Des coroutines légères pour une exécution concurrente efficace. Pas de fonctions async colorées. Faites simplement spawn() et c'est parti !

I/O non bloquante

fread, fwrite, file_get_contents, ob_start, Curl, MySQL, PostgreSQL et d'autres API prêtes à l'emploi. Les fonctions PHP classiques fonctionnent désormais de manière asynchrone sans effort supplémentaire.

Serveurs Web asynchrones

Prise en charge du modèle : plusieurs requêtes pour un seul processus PHP.

Annulation coopérative

Une API simple et flexible pour l'annulation des coroutines, couvrant différents scénarios.

Concurrence structurée

Contrôle du cycle de vie des coroutines grâce au bac à sable Scope. Gestion d'un groupe de coroutines via TaskGroup.

PDO Pool

Prise en charge du pool de connexions directement dans PDO. Gestion automatique des connexions pour des performances maximales.

Channel

Échange de données typé entre coroutines. Canaux avec et sans tampon pour les patrons producteur/consommateur.

Futures

Résultats différés pour les calculs asynchrones. Composition via awaitAll, awaitFirst et gestion flexible des résultats.

Context

Propagation du contexte à travers l'arbre des coroutines. Délais d'expiration, échéances et annulation des opérations avec nettoyage automatique des ressources.

Prêt à créer des applications PHP asynchrones ?

Démarrez avec TrueAsync en quelques minutes. Installez via Composer et écrivez du code concurrent dès aujourd'hui.