Why Noor — A Single-File PHP Framework for Shared Hosting
Every PHP developer eventually faces the same deployment reality: shared hosting. cPanel, Plesk, or a basic LAMP stack with FTP access and nothing else. No SSH. No Composer. No Node.js. No chance of running artisan or bin/console.
Modern PHP frameworks assume a modern environment. Laravel needs Composer, vendor/, and often Redis or a queue worker. Symfony is similar. Even Slim requires Composer and an autoloader. On shared hosting, you're lucky to get PHP 7.4 with mod_rewrite.
So you reach for WordPress. Or you hand-roll everything with require_once spaghetti. Neither is satisfying.
The Gap
Between the monolithic giants (Laravel, Symfony) and the "raw PHP" approach, there's a gap. A gap for a framework that gives you structure without infrastructure.
I wanted:
- Routing — clean URL patterns, not
if ($_GET['page'])chains - Templating — layouts, sections, escaping, not
<?php echo htmlspecialchars(...)everywhere - Database — a query builder, not raw PDO verbosity
- Auth — sessions, bcrypt, CSRF, not reinventing password hashing
- Validation — declarative rules, not
if (!filter_var(...))blocks
And I wanted it all in a single file you could FTP to a shared host in 2026.
Design Constraints
Noor was built around non-negotiable constraints:
- One file.
noor.phpis the framework. Copy it and go. Novendor/, nocomposer.json, no autoloader config. - No CLI. Everything must work through the web server. No code generation, no cache clears, no CLI commands.
- PHP 7.4+. The vast majority of shared hosts still run PHP 7.4 or 8.0. PHP 8.1+ features were off limits.
- Drop-in deployment. Upload via FTP, point your domain at the directory, and it works. No post-deploy steps.
- Familiar ergonomics. If you know Laravel, you know Noor. Same routing patterns, same template directives, same query builder chain.
What It Is Not
Noor is not trying to compete with Laravel or Symfony. It doesn't have queues, events, a service container, Eloquent ORM, Horizon, Telescope, or any of the ecosystem tools that make Laravel great for large applications.
Noor is for the other 80% of PHP projects: the company website, the internal tool, the MVP, the client project on a $5/month shared host.
What's Next
The framework is stable enough for production use on simple to moderate projects. PostgreSQL and SQLite support work. The query builder handles joins, subqueries, and transactions. The template engine supports full layout inheritance.
Future improvements could include Redis session support, a minimal caching layer, and better error diagnostics — but only if they don't compromise the single-file, zero-dependency constraint.
If you've been looking for something between WordPress and a full Laravel deployment, Noor might be what you need. Drop it in and start building.