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
-
admin
- about.php 1.7 KB
- create_skeleton.php 4.5 KB
- create_todo.php 3.9 KB
- error.php 1.9 KB
- start_production.php 1.4 KB
- stop_production.php 0.2 KB
- welcome.php 2.2 KB
-
(root)
- firebox_compiler.php 19.2 KB
- firebox_compiler_data.php 8.1 KB
- firebox_controller_functions.php 8.6 KB
- firebox_runtime.php 6.9 KB
- make_release.sh 0.6 KB
-
skeleton
- debug.php 1.5 KB
- default.php 0.2 KB
- define_datafile.php 0.4 KB
- index.php 0.1 KB
- item_detail.php 0.8 KB
- lay_html.php 2.2 KB
- menu.php 0.9 KB
- profiler.php 2.2 KB
- qry_i_todo_item.php 0.9 KB
- qry_s_todo_item.php 0.4 KB
- qry_s_todo_list.php 0.9 KB
- qry_u_todo_item.php 0.9 KB
- qry_u_todo_item_done.php 0.6 KB
- queries.php 1.8 KB
- settings_skel.php 0.6 KB
- settings_todo.php 0.4 KB
- sort_array_by_key.php 1.0 KB
- todo.data 0.5 KB
- todo.php 1.5 KB
- todo_list.php 0.4 KB
- todo_list_item.php 0.5 KB