article
Command Pattern: trasformare le azioni in oggetti
Pillar article sul Command Pattern: encapsulare richieste come oggetti per parametrizzare, accodare, loggare e annullare le operazioni.
Il problema: azioni che vivono solo nel momentoUn controller riceve una richiesta POST e chiama direttamente $order->cancel(). Funziona. Ma cosa succe...
04/05/2026
article
Template Method: lo scheletro che lascia spazio
Pillar article sul Template Method Pattern nella CLI e nei modelli: Command::handle(), Model lifecycle e l'inversione di controllo come atto di fiducia.
Il framework chiama te, non il contrarioL'inversione di controllo e il principio fondante di ogni framework: non sei tu a chiamare il framework, e il ...
27/04/2026
article
Invokable commands e PHP Attributes: la nuova CLI di Symfony 8
Comandi console piu snelli grazie agli attributi nativi e alla sintassi invokable.
Come erano i comandi console prima di Symfony 8In Symfony 7 e versioni precedenti, creare un comando console significava seguire un pattern ben defini...
12/04/2026
article
La filosofia Unix nella CLI di un framework PHP
Pillar article su come il principio "fai una cosa sola e falla bene" ha guidato il refactoring della CLI con #[CliCommand], auto-discovery e Command base class.
Do one thing and do it wellNel 1978 Doug McIlroy sintetizzo la filosofia Unix in tre righe. La prima — fai una cosa sola e falla bene — e forse il pri...
13/04/2026
article
Maggio 2025: il mese della fondazione
Pillar article su 41 commit che hanno costruito le basi: Config, Mail, Storage, QueryBuilder e i primi comandi CLI.
Costruire le fondamentaCon 41 commit, maggio 2025 e stato il mese in cui il framework ha iniziato a somigliare davvero a un framework. La classe Confi...
08/12/2025
article
Quick note: make:model dalla CLI
Quick note su come generare modello, migrazione, controller e service con un solo comando.
Un comando, quattro fileCon php soft make:model Article -m -c -s il framework genera in un colpo il modello, la migrazione, il controller e il service...
22/03/2026