← All messages

Production is a single file you copy

Deploying an app means writing one PHP file to a server. Not a directory, not a pipeline, not a framework alongside it. One file.

The builder concatenates the base class, the functions, the constants and every generated class, sets the development and debug flags to false, drops the debug library out of the bundle entirely, and finishes with one line: phlo('app');. What arrives on the server is a self-contained program.

The control application has the whole release as a method: compare local and remote timestamps, then write the build across.

Two properties make that worth doing rather than merely possible. A release contains only what the app actually uses, because the builder knows exactly which classes were generated and which library was only there for debugging. And the output is plain PHP, so if something behaves oddly on the server you can open the thing that is running rather than reasoning about a cache you cannot see.

The obvious limit is that one file cannot carry assets, and a growing app eventually wants a directory rather than a single blob. What should not change when that happens is the promise: what you deploy is the compiled output of your own source, and you can read it.

We use essential cookies to make this site work. With your permission we also use analytics to improve the site.