Echte Asynchronität in PHP
Synchron schreiben. Asynchron ausführen.
Stellen Sie sich PHP mit Koroutinen vor, bei dem vertraute Funktionen nebenläufige Ein-/Ausgabe unterstützen. Erstellen Sie hochperformante nebenläufige Anwendungen mit sauberem, lesbarem Code und minimalen Änderungen!
// 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));Produktionsreife API
Koroutinen
Leichtgewichtige Koroutinen für effiziente nebenläufige Ausführung. Keine gefärbten async-Funktionen. Einfach spawn() und los!
Nicht-blockierende I/O
fread, fwrite, file_get_contents, ob_start, curl, MySQL, PostgreSQL. Gewöhnliche PHP-Funktionen arbeiten jetzt asynchron ohne zusätzlichen Aufwand.
TrueAsync Server
Nativer Webserver in C mit Unterstützung für HTTP/1.1, HTTP/2 und HTTP/3, direkt im PHP-Prozess.
Kooperative Abbruchsteuerung
Einfache und flexible API zum Abbrechen von Koroutinen. Scope::cancel().
Strukturierte Nebenläufigkeit
Kontrolle der Lebensdauer von Koroutinen mit der Scope-Sandbox. Verwaltung von Koroutinen-Gruppen über TaskGroup.
PDO Pool
Verbindungs-Pooling direkt in PDO eingebaut. Automatische Verbindungsverwaltung für maximale Leistung.
Channel · ThreadPool
Datenaustausch zwischen Koroutinen. Gepufferte und ungepufferte Kanäle für Producer/Consumer-Muster. Thread-übergreifend via ThreadChannel; parallele CPU-Aufgaben via Thread und ThreadPool.
Futures
Verzögerte Ergebnisse für asynchrone Berechnungen. Komposition über await_all, await_first.
PHP Mobile
Android-Unterstützung auf PHP-Kernebene: ein asynchroner Runtime innerhalb einer nativen App über native-bridge.
TrueAsync in der Praxis lernen
Praxisnahe Anleitungen, von deiner ersten Koroutine bis zu strukturierter Nebenläufigkeit und dem integrierten Server.
Coroutinen
Dein erster Blick auf Coroutinen: spawn() und nebenläufige Ausführung.
Scope
Wer eine Gruppe von Coroutinen besitzt, auf sie wartet und sie gemeinsam abbricht.
PDO Pool
Warum Coroutinen sich keine PDO-Verbindung teilen können und wie der eingebaute Pool das transparent löst.
Threads
spawn_thread und ThreadPool: echte Parallelität für CPU-lastige Arbeit.
Erster Server
Ein HTTP-Server innerhalb von PHP: HttpServer, HttpServerConfig und dein erster Handler.
WebSocket
Die recv-Schleife, ein Chatraum, Senden aus anderen Coroutinen und trySend gegen langsame Clients.