← Alle berichten

From nothing to a built app, in one command

install.php asks a handful of questions and leaves you with an app that builds. There is also a Docker image, so the answer to "what do I need first" can be nothing at all.

The questions are the ones that have to be answered anyway: a name, a host, where it should live. Then it shows the runtime catalog and lets you pick resources, pulling in each one's @ requires automatically so you cannot select half a dependency. It writes the entrypoint, data/app.json, data/app.md, a first route and a .gitignore.

Two decisions in there are worth naming. It refuses to finish on a broken build: it runs one and reports concrete next steps, so the first thing you see is a working app rather than an error to interpret. And when it runs as a copy inside the new app directory it deletes itself afterwards, because a generator left lying in a project is a thing that eventually gets run again by accident.

The Docker image covers the other starting point. docker compose up gives you FrankenPHP serving the app, with Caddy and the right PHP extensions already in place, so the first run needs no local PHP at all. Realtime is a step beyond that: the daemon is its own process, and a compose file that wants it adds the service and the proxy rule itself.

Both exist for the same reason: the gap between reading about a framework and running one is where most people stop, and every step in that gap is optional.

Engine 1.0. See the installer on the install page.

We gebruiken essentiële cookies om deze site te laten werken. Met uw toestemming gebruiken we ook analytics om de site te verbeteren.