dariodelogu / monti-framework
A modular PHP framework, built for speed and simplicity
Package info
github.com/dariodelogu/monti-framework
Type:project
pkg:composer/dariodelogu/monti-framework
Requires
- php: >=8.4.0
- illuminate/database: ^12.0
- illuminate/events: ^12.0
- laminas/laminas-diactoros: ^3.8
- laravel/serializable-closure: ^2.0
- nikic/fast-route: ^1.3
- psr/http-server-handler: ^1.0
- somnambulist/validation: ^1.12
- symfony/var-dumper: ^8.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-10 21:50:56 UTC
README
Welcome to Monti, A modular PHP framework, built for developers who want to build web applications with simplicity, speed, and scalability.
Introduction
Monti is built to offer a smooth and powerful development experience, with a modular architecture that lets you reuse code across your project.
Core Values
Monti is based on four fundamental principles:
- Simplicity: Low learning curve to get started quickly.
- Scalability: Suitable for projects of any size, from one-page sites to CRMs and eCommerce platforms.
- Speed: Fast installation, startup, customization, and development.
- Customization: Easily modify the code to fit your unique needs.
Features
Monti includes a complete set of tools for modern development:
1. Integrated MVC
Ready-to-use Model-View-Controller structure:
// Model namespace App\Modules\ModuleName; class MyModel extends \App\System\MVC\Model { // your code here } // Controller namespace App\Modules\ModuleName; class MyController extends \App\System\MVC\Controller { public function welcome() { return view("welcome", ["message" => "Hello World!"]); } } // View (welcome.php) <?= $message ?>
2. Modules
The primary way to extend Monti's capabilities and bring your ideas to life. Write the code once and reuse it as many times as you want.
3. Routing
Simple and configurable HTTP request handling:
router()->get("/", function() { return view("home"); }); //Grouped routes router()->group("users", function($group) { // /users/login $group->post("/login", "MyController@myLoginMethod"); //or $group->post("/login", [MyController::class, "myLoginMethod"]); }); router()->get("/another-route", ...);
4. Middlewares
Inspect, filter or short-circuit HTTP requests before they reach your code, with a standard, PSR-15 compliant middleware pipeline:
class IsLogged { public function process($request, $handler) { if(!\Auth::isLogged()) { return redirect(url("users.login")); } return $handler->handle($request); } } router()->get("/dashboard", "Dashboard@index") ->middleware(IsLogged::class);
Installation
Check out the official documentation to get started.
License
This project is distributed under the Apache License, Version 2.0. Read LICENSE and NOTICE files for more informations.