Code met de snelheid van het denken.
Phlo transpileert naar pure PHP en combineert compacte syntaxis met full-stack performance.
Waarom Phlo?
Geen omwegen.
Phlo draait direct op PHP. Geen interpreters, geen bundlers, geen verstopte laag, gewoon compacte code die uitvoert.
Backend en frontend, één bestand.
Routes kunnen synchroon én asynchroon werken zonder aparte codepaden. Phlo’s frontend-engine praat incrementeel met de backend, waardoor je eenvoudig responsieve en interactieve applicaties bouwt.
Geen puntkomma's. Geen excuses.
Eén taal voor routes, views, styling en frontendlogica. Geen puntkomma’s, geen overbodige mapjes, geen externe toolchains - alleen schone code die leest als vanzelf.
Waar Phlo zich onderscheidt
Eerlijke vergelijking met andere PHP-stacks. Wat winnen we, en waar geven we het toe?
| Phlo | Laravel | Livewire | HTMX | |
|---|---|---|---|---|
| Compileermodel | Compile-to-PHP | Geïnterpreteerd | Geïnterpreteerd | Backend-agnostisch |
| Eén taal full-stack | Ja, routes, views, CSS, JS in één file | Blade + losse JS | Blade + Livewire-attributes | HTML + backend naar keuze |
| Async UI-updates | apply()-protocol uit dezelfde route | Zelf bouwen (Inertia, eigen JS) | Server-roundtrip per actie | HTML-fragments over de draad |
| Realtime | phloWS contract, ingebouwd | Echo + Pusher / Redis | Echo via Laravel | SSE-extension |
| Ecosysteem & community | Klein, in groei | Enorm, decennia oud | Groot binnen Laravel | Groot, framework-vrij |
Eenvoud in actie
Zie hoe Phlo complexe taken elegant oplost.
route both GET demo camel => view(%app->shell('camel', $this->content), 'camel demo')
prop input => $_GET['text'] ?? 'phlo library demo route'
prop output => camel($this->input)
view content:
{{ %app->intro('camel', 'Converteert leesbare labels naar camelCase keys. Handig voor gegenereerde property-namen, data keys of simpele mapping tussen UI-labels en code.', 'camel($text)') }}
<article class="panel">
<h2>Probeer het</h2>
<form method="get" action="/demo/camel">
<label>Input<input name="text" value="$this->input"></label>
<button>Maak camelCase</button>
</form>
</article>
{{ %app->flow($this->input, 'camel($this->input)', $this->output) }}
Begin in twee minuten
Met Docker heb je zonder iets te installeren een draaiende app: de installer vraagt naam, host en resources, lost vereisten op en eindigt pas na een schone build.
Met Docker (snelst)
Of vanaf de broncode
Liever handmatig of meer detail? De gids beschrijft elke stap. Lees de gids