SImple SMArt Framework
Framework PHP MVC moderno, robusto e manutenibile per lo sviluppo di applicazioni web professionali. Sfrutta le potenzialità di PHP 8.3+ con tipizzazione forte, ORM potente e sicurezza integrata.
SismaFramework include un Project Bootstrapper che genera automaticamente tutta la struttura del progetto con un singolo comando.
# 1. Crea il progetto e aggiungi il framework
mkdir mio-progetto && cd mio-progetto
git init
git submodule add https://github.com/valentinodelapa/SismaFramework.git
# 2. Installa le dipendenze
cd SismaFramework && composer install && cd ..
# 3. Esegui lo scaffolding automatico
php SismaFramework/Console/sisma install MioProgetto
<?php
namespace MyApp\Controllers;
use SismaFramework\Core\BaseClasses\BaseController;
use SismaFramework\Core\HttpClasses\Response;
class HomeController extends BaseController
{
public function index(): Response
{
$this->vars['message'] = 'Hello World!';
// Sintassi moderna (v11.0.0+)
return $this->render->generateView('home/index', $this->vars);
}
}
Il comando sisma install trasforma il submodule in un progetto completo e pronto all'uso
mio-progetto/
└── SismaFramework/
├── Config/ # template
├── Console/
├── Core/
├── ORM/
├── Public/ # template
├── Security/
└── ...
Solo il framework come submodule Git
sisma install
mio-progetto/
├── Cache/ # creata
├── Config/ # creata
│ └── configFramework.php
├── filesystemMedia/ # creata
├── Logs/ # creata
├── MioProgetto/ # modulo ↓
├── Public/ # creata
│ └── index.php
├── SismaFramework/ # intatto
├── .htaccess # creato
└── composer.json # creato
Struttura completa, configurata e pronta all'uso
Il comando sisma install crea automaticamente la cartella del modulo con la struttura MVC completa:
MioProgetto/
└── Application/
├── Assets/ # CSS, JS, immagini
├── Controllers/ # Controller MVC
├── Entities/ # Entity ORM (Data Mapper)
├── Enumerations/ # BackedEnum PHP 8.3+
├── Forms/ # Definizione form
├── Locales/ # File di traduzione
├── Models/ # Business logic e query
├── Permissions/ # Definizione permessi
├── Templates/ # Layout riutilizzabili
├── Views/ # Template PHP
└── Voters/ # Logic di autorizzazione
Il nome del modulo corrisponde al nome del progetto specificato nel comando di installazione
I path dell'autoloader vengono aggiornati automaticamente. Il nome del progetto viene configurato nel file di config.
Configura host, nome, utente e password del database in modo interattivo o tramite parametri CLI.
Le cartelle Cache, Logs e filesystemMedia vengono create con i permessi appropriati per il web server.
Separazione netta tra logica, dati e presentazione con pattern MVC robusto
Scopri di più →Data Mapper con lazy loading, relazioni automatiche e crittografia a livello di proprietà
Scopri di più →Autenticazione MFA, sistema di permessi con Voters, protezione CSRF
Scopri di più →Sistema di logging standard PSR-3 compatibile con Monolog e altri logger
Scopri di più →Sfrutta PHP 8.3+ con tipizzazione forte, readonly properties, BackedEnum e attributi.
Data Mapper con lazy loading, relazioni automatiche, crittografia a livello di proprietà.
Autenticazione MFA, sistema di permessi, protezione CSRF, validazione input.
Organizza il codice in moduli riutilizzabili e indipendenti.
Abbiamo preparato esempi completi che mostrano tutte le funzionalità del framework:
Documentazione completa con guide, tutorial e API reference.
Vai alla Documentazione →PHP Version
Test Coverage
Open Source License
Architecture Pattern