Firebox

A PHP web application framework, written in 2007. It arrived here as a library with no pages of its own; this is the documentation it never had.

Firebox compiles a site rather than merely including it. Every controller, model and view goes through fbx_compile(), which resolves each file's require() statements against the site's lib/ directory before anything runs, so a file can ask for what it needs without knowing where it sits. A page request assembles the compiled pieces through a runtime that keeps its state in one global, $fbx, and lets plugins attach themselves to named phases of the request.

Files declare their role by name. Anything beginning controller is one, anything beginning model is a model, and everything else is a view. The demo app extends that to its queries: qry_s_ selects, qry_i_ inserts, qry_u_ updates. It is a convention doing the job a configuration file usually does.

Two directories come with it. admin/ is the framework's own web interface — a welcome page, an about page, a skeleton generator, and switches to start and stop production mode. skeleton/ is a working to-do application, and is the clearest explanation of the conventions: a layout, a menu, a list, a detail page, and five queries.

Status. The source is here and readable, and nothing on this site executes it. The intent is to use it as a PHP library from the other projects; until something actually calls it, treating it as documentation rather than a dependency is the honest description.

The library

Browse the source