SismaFramework

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.

Quick Start

Scaffolding CLI

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

Vedi cosa genera Guida completa →

Primo Esempio

Hello World Controller
<?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);
    }
}

Vedi tutorial completo →

Come Funziona l'Installazione

Il comando sisma install trasforma il submodule in un progetto completo e pronto all'uso

PRIMA (dopo git submodule add)
mio-progetto/
└── SismaFramework/
    ├── Config/        # template
    ├── Console/
    ├── Core/
    ├── ORM/
    ├── Public/        # template
    ├── Security/
    └── ...

Solo il framework come submodule Git

sisma install
DOPO (progetto pronto)
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

Struttura del Modulo — MioProgetto/

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

Configurazione Automatica

I path dell'autoloader vengono aggiornati automaticamente. Il nome del progetto viene configurato nel file di config.

Setup Database Interattivo

Configura host, nome, utente e password del database in modo interattivo o tramite parametri CLI.

Permessi Corretti

Le cartelle Cache, Logs e filesystemMedia vengono create con i permessi appropriati per il web server.

Caratteristiche Principali

🏗️
Architettura MVC

Separazione netta tra logica, dati e presentazione con pattern MVC robusto

Scopri di più →
💾
ORM Potente

Data Mapper con lazy loading, relazioni automatiche e crittografia a livello di proprietà

Scopri di più →
🔐
Sicurezza Integrata

Autenticazione MFA, sistema di permessi con Voters, protezione CSRF

Scopri di più →
📝
Form Avanzati

Validazione, ripopolamento automatico, gestione errori integrata

Scopri di più →
🔗
URL Rewriting

URL SEO-friendly in kebab-case con routing automatico

Scopri di più →
🌍
Internazionalizzazione

Supporto completo per applicazioni multilingua

Scopri di più →
📋
Logging PSR-3

Sistema di logging standard PSR-3 compatibile con Monolog e altri logger

Scopri di più →
Performance

Cache entità, lazy loading, query ottimizzate

Scopri di più →
🧪
Testing

Supporto PHPUnit con coverage >80%

Scopri di più →

Perché SismaFramework?

Moderno e Type-Safe

Sfrutta PHP 8.3+ con tipizzazione forte, readonly properties, BackedEnum e attributi.

ORM Potente

Data Mapper con lazy loading, relazioni automatiche, crittografia a livello di proprietà.

Sicurezza Integrata

Autenticazione MFA, sistema di permessi, protezione CSRF, validazione input.

Architettura Modulare

Organizza il codice in moduli riutilizzabili e indipendenti.

Pronto a Iniziare?

Esplora gli Esempi

Abbiamo preparato esempi completi che mostrano tutte le funzionalità del framework:

  • Entity con tutti i tipi supportati
  • Model con query avanzate
  • Controller con autowiring
  • Views con best practices
  • Relazioni e lazy loading
  • Crittografia e sicurezza
Vedi Esempi Live
Leggi la Documentazione

Documentazione completa con guide, tutorial e API reference.

Vai alla Documentazione →

8.3+

PHP Version

>80%

Test Coverage

MIT

Open Source License

MVC

Architecture Pattern