Humblee

A humble PHP framework & CMS

What is Humblee?

Humblee is a MVC framework. For developers it covers all the boring stuff like page routing, user authentication and role-based authorization. It includes tools for easily encrypting data and files, sending transactional emails and SMS messages, and generating UI forms for custom data management. With the basics out of the way, you are free to toil tinker away on your application's custom functionality.

Humblee is also a content management system. For site owners, Humblee allows the creation and editing of pages, content personalization, i18n multi-language support, uploading files, managing users and setting access privileges.

Why Humblee?

Humblee is for roll-your-own developers and DIY programmers who like to build things their own way. By design, there is no “plugin” system because custom functionality requires custom programming. The framework has just enough features baked in to make it useful but remains humbly in the background as you create your own unique tools using vanilla PHP.

The Humblee CMS is fully responsive and works accross all devices.

  Developer Tools

  • Object-relational mapping (ORM). Humblee uses the one-class Idiorm library for easy, secure database querying.
  • Autoloading controllers and models.
  • Custom routing. For scripts not served by the CMS, routing can be hard coded into the init.php file OR managed through the CMS page template manager.
  • XHR Class. Humblee's built in XHR controller can be extended for custom AJAX requests and includes methods for checking required user roles and HMAC tokens as well as returning cache busting headers and JSON formatted data.
  • Crypto Class. Using PHP's native encryption tools (or lib sodium in versions < PHP 7.2,) Humblee includes methods for generating secure hashed values, machine authentication codes, and encrypting and decrypting text and files.
  • Helpful Core methods for quickly checking a given user's role, getting the requested URL, loading a custom view or forwarding to a new URI.
  • Additional tools for sending transactional emails or SMS text messages and a CRUD method to Create, Read, Update and Delete a given database table row with $_POST data.
  • Draw UI HTML elements such as a <ul> navigation tree generated from the site's page data or output page-specific content entered through the CMS in a custom view.
  • Configure Personalization (p13n) and Internationalization (i18n) to customize page views and CMS-entered content targeted to defined user demographics or URL segments.

…or do it your own way. It's your app.

  Login System Features

  • Self service user registration, profile management, and password recovery.
  • Role-based user authorization defining who can see certain pages or content, view and download specific files, use the CMS, edit and/or publish content, create and modify pages or manage other users.
  • Optional Two-Factor Authentication (2FA) via SMS text messages (requires a paid Twilio account.)
  • Security features include hashed passwords, rate limiting of login attempts, CSRF mitigation via session based HMAC tokens, and logging of all access attempts in the database.

  CMS Features

  • Page Manager for adding, editing, reordering or deleting pages and setting required user roles for access.
  • User Manager for assigning user roles or removing accounts from they system.
  • Media Manager to upload, rename or delete images and files. Media files can also be secured with required access roles and be encrypted at rest.
  • Content Manager allows modifying page content via WYSIWYG editor or through custom developed UI forms, as the specific content requires. Content can be saved as a draft or published live to the site and an unlimited number of revisions are stored and can be rolled back.