Zafkiel is a PHP library that lets developers design the backoffice of their websites with user-created modules.
⚠️ Preview screenshots and demo are not yet available.
- 🔧 Modular architecture – all features are encapsulated in independent modules
- 🧩 Plug-and-play modules – easily integrate, enable, or remove features
- 🔐 User and permission system (planned)
- 🌐 Framework-agnostic – can be embedded in any PHP-based project
- 📁 Clear project structure – encourages clean, maintainable code
- ⚖️ LGPL-2.1 license – open-source and enterprise-friendly
- PHP 8.0 or higher
- Composer (PHP dependency manager)
composer require zafkiel/core
declare(strict_types=1);
require 'vendor/autoload.php';
use MyApp\Controller;
$username = // Username of the logged admin.
$controller = new Controller($username);
echo $controller->show();
The framework expects a proper directory structure (see below) and routing setup using Apache, Nginx, or built-in PHP server.
zafkiel/
├── src/
│ ├── API/ # API handling
│ ├── Core/ # Core framework source
│ ├── Desktop/ # Dashboard loading (e.g., init modules, background)
│ ├── Middleware/ # JWT validation
│ └── Templates/ # Frontend sources (html, css, js)
├── vendor/ # Composer dependencies
├── composer.json # Dependency definition
- Modular loader system
- Base kernel and view rendering
- User & permission management
- Theme system and templating
- API layer for modules
- In-app configuration UI
We welcome contributions!
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to your fork (
git push origin feature/my-feature
) - Open a Pull Request
Please follow:
- Clean code practices (SOLID, PSR standards)
- English documentation and comments
- Modular and decoupled design
Zafkiel is licensed under the GNU Lesser General Public License v2.1 (LGPL-2.1).
You are free to use, modify, and distribute the framework under the terms of this license.
See the LICENSE file for more details.