Humblee

A humble PHP framework & CMS

Introduction

Humblee is a lightweight PHP framework and CMS built for developers who want to ship a custom web application without starting from scratch.

It handles the foundational work that every web app needs — page routing, content management, user authentication, role-based access control, and a media library — so you can spend your time building the parts that are actually specific to your project.

Who this is for

This documentation is written for developers. You should be comfortable with PHP, SQL, and the command line. Humblee does not provide a drag-and-drop interface or a visual page builder. What it provides is a clean, conventional structure you can extend with your own controllers, models, and views.

If you are looking for a no-code content management system, this is not it. If you want a sensible starting point for a bespoke PHP application — with user management, content storage, and an admin interface already wired up — you are in the right place.

What Humblee includes

  • MVC framework — PSR-4 autoloaded classes organized into controllers, models, and view templates
  • Page routing — URI-based routing that maps URL segments directly to controller methods
  • Content management — create, edit, and publish pages with support for multiple content blocks per page
  • User system — registration, login, session management, and a flexible role-based permission system
  • Media library — file upload, storage, and optional per-file at-rest encryption
  • Admin UI — a built-in admin panel for managing pages, content, users, and media
  • Frontend tooling — a Vite-based build pipeline for modern JavaScript SPAs embedded in the admin interface

What Humblee does not include

Humblee intentionally leaves the application layer open. There is no prescribed way to build your business logic, no ORM migrations, and no CLI scaffolding tool. You extend the framework by adding controllers, models, and views in the /application/ directory, using the same conventions the core uses.

How the documentation is organized

Getting started

  • Installation — prerequisites, setup steps, and server configuration
  • System Architecture — directory structure, autoloading, conventions, and the bootstrap sequence

The CMS

  • Creating Pages — the full workflow for adding pages: blocks, templates, and linking
    • Block Types — defining editable content slots
    • Templates — connecting view files to content blocks
    • Block Slots — multiple instances of the same block type per page
    • Linking Pages — page records, URL slugs, drafts, and publishing
  • Media Manager — file uploads, access control, encryption at rest, and TinyPNG compression
  • Users & Roles — user accounts, role-based permissions, authentication, and 2FA
  • Personalization & i18n — serving different content to different visitors, and multi-language URL routing

Developer reference

  • Routing & Middleware — the request lifecycle, the middleware pipeline, the routing table, and the Package request object
  • Controllers — building admin page controllers and XHR/AJAX endpoints
  • Security — CSRF/HMAC protection, encryption API, input validation, output escaping, and forbidden patterns
  • Frontend — the Svelte admin SPAs, the build pipeline, and PHP→Svelte config injection
  • Extending Humblee — adding models, controllers, middleware, views, and Svelte apps to the application layer