A PHP MVC Framework from Scratch.
No Libraries. No Dependencies. Just Pure PHP.


Boomer PHP MVC is an Framework made by 「 Shawn D'silva 」to learn PHP and core web development and software engineering concepts like Object Oriented programming, Model-View-Controller architecture, AJAX programming etc

Without the aid of a pre-existing framework like Laravel, or any external packages

BOOMER is built with the classic Linux, Apache, MySQL, PHP stack inside Docker containers on an Ubuntu host

On the Front-End BOOMER uses JQuery, SASS and CSS3 FlexBox with AJAX calls wherever required, The CSS is all custom with no Bootstrap etc used


Boomer PHP MVC implements most common sense Web Framework features from scratch, like a Router, Middlewares, Input Validation, SQL Query Builder and Sessions based Authentication

To demonstrate these features, this demo website is structured as a blogging platform, supporting multiple users, who can Create, View, Edit and Delete their own Blog posts, Comment on other's blog posts, edit & delete said comments, and customize their own user profile with a bio and a display picture

These operations take place in a standard page based form, or using AJAX to update content without a page refresh

Create an account to demo its features, or Sign In if you already have one.

MVC Architecture

Core Business Logic is encapsulated in a series of Controllers, Database interactions in Models and Front-End related functions in Views


A parameterized router that abstracts the resource from the URI that the user enters, and provides the values of any parameter specified to a route's respective controller


A safe Query Builder for MySQL that uses PDO under the hood, enabling developers to write legible, modular SQL queries instead of raw SQL


Uses Sessions for persistence, with user session data stored in DB and only session ID stored in cookie. Also stores user passwords securely hashed in the database

Input Validation

All User input is validated for correctness according to the developers needs and sanitized from malicious attempts at code injection


Middleware can be applied to any route, for any processing the app may require prior to being passed on to its respective controller