1: Phlo Realtime overzicht
Phlo Realtime is de realtime laag van het Phlo-platform. Het stelt een Phlo-app in staat om naar verbonden browsers te pushen via WebSockets zonder dat je de Phlo-taal hoeft te verlaten: je schrijft dezelfde .phlo handlers die je al schrijft, en de Phlo Daemon geeft elk socket-evenement door aan je app, als een nieuw proces per evenement of via een resident worker pool wanneer je de doorvoer nodig hebt.

1.1: Het model
Phlo Realtime is de WebSocket-laag die is ingebouwd in de Phlo Daemon: het enige daemonproces beheert de socketverbindingen. Wanneer een client verbinding maakt, zich authenticeert, een bericht verzendt of de verbinding verbreekt, draait de daemon je app voor dat evenement op dezelfde manier als een HTTP-verzoek, door het in-process naar zijn eigen worker pool te dispatchen. Je handler draait, zendt optioneel uit en retourneert. De sockets en de PHP bevinden zich in hetzelfde proces: geen aparte service, geen extra netwerkhop.
- Één proces (de daemon) bedient de sockets voor elke app op de machine.
- Één handler-aanroep per evenement: verbinden, authenticatie, ontvangen, sluiten.
- Stateless handlers: elk evenement is zijn eigen schone aanroep, net als een route.
Dit houdt de realtime-code in hetzelfde mentale model als de rest van Phlo: korte handlers, expliciete staat in de database, geen speciale runtime om over na te denken.
De daemon draait elke host in een van de twee modi (zie de WebSocket-gids): one-shot, een nieuwe PHP-proces per evenement (een build: true app, ideaal voor ontwikkeling en zijn hot-reload), of een resident worker pool (een release-app) die de app eenmaal opstart voor productie-throughput. De modus volgt de build-vlag van de app, niet een configuratie-invoer. De handlercode is identiek; in poolmodus is de app resident en phlo('tech/reset') wist de per-evenement staat tussen aanroepen, dus schrijf worker-veilige handlers (geen aanvraag- of gebruikersstaat in statics, commit of roll back DB-werk) op beide manieren.
1.2: Wanneer het te gebruiken
Gebruik Phlo Realtime wanneer de browser op de hoogte moet worden gesteld van iets waar hij niet om heeft gevraagd: live tellers, aanwezigheid, chat, meldingen, dashboards, samenwerkende status. Als een eenvoudige async formulier rondreis voldoende is (de Poll tutorial werkt op deze manier), heb je Phlo Realtime helemaal niet nodig. Phlo Realtime is een aanvullende stap: een app blijft werken zonder realtime en wordt actief wanneer de daemon draait.
1.3: Wat je aansluit
- Een
daemon:poort in je app entrypoint en deDOM/websocketresource voor de browserclient. - De body class
wss, die de schakelaar is die de client vertelt om een socket te openen. - Vier hooks (volgende hoofdstuk) en
wsCastom uit te zenden. - Eén draaiende service: de Phlo Daemon, die de sockets beheert en de hooks uitvoert.
De phlo-demo-poll repository is een werkende referentie voor dit alles in bronvorm: de poll ondersteunt nu Phlo Realtime, voortbouwend op de Poll tutorial.