Architecture Overview
Request lifecycle, project layout, and runtime flow.
JamilX is a PHP SaaS framework with a Service/Action/Container/Prototype architecture and a straightforward runtime chain that stays close to plain PHP.
Runtime Entry
Requests enter through index.php, start sessions, bootstrap the framework, load the autoloader, and finally route into a Service.
Request → index.php → session.php → init.php → core/system.php → bootstrap.php
→ autoload.php → core/index.php → core/hooks → JX_State()
→ scripts/ → Apps/ → route/http.php → Service → Action → Container → Prototype
Core Layout
- core/ — runtime engine, base classes, hooks
- services/ — route-owned service classes
- actions/ — action handlers invoked by services
- containers/ — view templates and UI output
- prototypes/ — data helpers and DB utilities
- Apps/ — installed app packages loaded at boot
Autoloading
The autoloader boots core/index.php first, then scans prototypes/, services/, and actions/ for class definitions.
Environment Modes
The MODE value in .env selects the bootstrap class: development, production, or maintainance.
Apps & Modules
Installed apps load at boot, while modules scaffold Services, Actions, Containers, and Prototypes for rapid feature delivery.
Learn about apps →End-to-end example
A typical request flows from a route into a Service, then selects an Action to render a Container and call Prototype helpers.
/dashboard?action=home → class Dashboard → dashboardhome → containers/dashboard/home.php