Categoria

Pagina 2 di 3

Symfony: il framework PHP quando serve ingegneria rigorosa

Symfony è il framework PHP che scelgo quando il progetto richiede architettura modulare, contratti chiari tra componenti e longevità. È più verboso di Laravel, più didattico, e per certi tipi di applicazione — piattaforme enterprise, sistemi multitenant, API pubbliche — è la scelta tecnica migliore. Lo uso in produzione su progetti Symfony 6 e 7.

In questa categoria scrivo di architettura Symfony, bundle custom, Messenger per task asincroni, Doctrine, API Platform, dependency injection, event dispatching. Ragiono anche su quando scegliere Symfony rispetto a Laravel: non è una guerra di religione, è una valutazione tecnica caso per caso che un consulente senior dovrebbe saper fare.

Se hai un progetto Symfony da avviare, da mantenere, o stai valutando il framework giusto per la tua prossima applicazione, parliamone. Oppure scopri il mio approccio multi-stack: scelgo lo strumento giusto per il problema, non viceversa.

Symfony e Laravel non sono nemici. Sono strumenti diversi con forze diverse. Il consulente senior sa quando usare quale.

Symfony Messenger: code asincroni robusti per processi di business critici

Symfony Messenger: code asincroni robusti per processi di business critici L'invio di 50.000 email mensili da un giro promozionale bloccava la UX dell'applicazione per ore. Con Symfony Messenger e un transport RabbitMQ, ho separato il processo di business dalla sua esecuzione: le email partono in background, la UI risponde istantaneamente, i fallimenti vengono riprocessati automaticamente. Continua a leggere
Ultima modifica:

Microservizi PHP con Symfony e RabbitMQ: quando vale davvero la complessità aggiunta

Microservizi PHP con Symfony e RabbitMQ: quando vale davvero la complessità aggiunta Un cliente mi ha chiesto di trasformare il suo monolite Laravel in microservizi 'perché lo fanno tutti'. Ho fatto l'analisi: 15 sviluppatori, 3 domini di business ben separati, un servizio con requisiti di scaling indipendenti. Alla fine ne abbiamo estratti due soli. Vi racconto i criteri di decisione reali. Continua a leggere
Ultima modifica:

Symfony 7.2: le novità degli attributes e del DI container che semplificano tutto

Symfony 7.2: le novità degli attributes e del DI container che semplificano tutto Symfony 7.2 porta un utilizzo ancora più estensivo degli attributes PHP 8 che elimina gran parte della configurazione YAML che ho sempre trovato verbosa. Ho migrato un'applicazione da Symfony 6.4 a 7.2 e vi racconto i cambiamenti concreti nel codice, i friction point e i benefici netti in manutenibilità. Continua a leggere
Ultima modifica:

PHP 8.4: le novità che cambiano davvero il modo di scrivere codice

PHP 8.4: le novità che cambiano davvero il modo di scrivere codice PHP 8.4 introduce property hooks - una feature attesa da anni che cambia il modo di scrivere modelli e DTO. Ma non è l'unica novità rilevante. Ho aggiornato tre basi di codice a PHP 8.4 e vi racconto cosa ho dovuto cambiare, cosa ho potuto semplificare e dove ho trovato breaking change inaspettati. Continua a leggere
Ultima modifica:

GDPR tecnico: implementare la pseudonimizzazione dei dati in Laravel e Symfony

GDPR tecnico: implementare la pseudonimizzazione dei dati in Laravel e Symfony Articolo 25 del GDPR parla di 'privacy by design' in modo astratto. Nella pratica, per un'anagrafica clienti Laravel, significa separare i dati identificativi dai dati di business in due tabelle con chiave di pseudonimizzazione gestita separatamente. Vi mostro il pattern che uso nei progetti enterprise. Continua a leggere
Ultima modifica:

Supply chain security con Composer per Laravel e Symfony: come prevenire typosquatting, dependency confusion e script malevoli

Supply chain security con Composer per Laravel e Symfony: come prevenire typosquatting, dependency confusion e script malevoli Dopo la backdoor xz-utils e il compromise di tj-actions del 2025, ho auditato le dipendenze Composer di 12 clienti PHP: 3 avevano pacchetti con nomi sospetti, nessuno aveva allow-plugins configurato, zero SBOM. Il playbook che ho implementato: pinning, audit in CI, blocco script e SBOM CycloneDX. Continua a leggere
Ultima modifica:

Incident response in 72 ore per Laravel e Symfony: guida operativa NIS2-ready per PMI

Incident response in 72 ore per Laravel e Symfony: guida operativa NIS2-ready per PMI Un e-commerce Laravel compromesso tramite una dipendenza Composer con backdoor: dati di 4.200 clienti potenzialmente esposti e obbligo di notifica GDPR in 72 ore. Ho gestito contenimento, forensics, ripristino e comunicazione seguendo la timeline NIS2 24-72-30. Il playbook operativo che uso per ogni incidente su applicazioni PHP. Continua a leggere
Ultima modifica:

Docker container security per PHP: da immagini root con 42 CVE a hardening con cap-drop, read-only e Trivy in CI/CD

Docker container security per PHP: da immagini root con 42 CVE a hardening con cap-drop, read-only e Trivy in CI/CD Il Sysdig 2024 Cloud-Native Security Report documenta che il 91% delle scansioni runtime fallisce e l'83% dei container in produzione gira come root. NIST SP 800-190 (Application Container Security Guide) e l'OWASP Docker Security Cheat Sheet (14 regole) definiscono il framework di hardening. Un Dockerfile multi-stage con utente non-root, --cap-drop=ALL, --read-only e scansione Trivy in CI/CD riduce la superficie d'attacco da decine di CVE a single digits. Continua a leggere
Ultima modifica:

Sviluppatore Laravel e Symfony senior: quando i microservizi hanno davvero senso e quando sono un costo mascherato da modernità

Sviluppatore Laravel e Symfony senior: quando i microservizi hanno davvero senso e quando sono un costo mascherato da modernità A Novembre 2024 il CTO di una PMI italiana del settore logistico mi contattò dopo aver spezzato un monolite Laravel ben scritto in otto microservizi "per scalare meglio", ottenendo una piattaforma più lenta, più fragile e con il doppio degli incidenti di produzione. Il caso illumina la scelta architetturale sbagliata più diffusa nelle PMI italiane oggigiorno - adottare i microservizi per il motivo sbagliato - e cosa fa uno sviluppatore Laravel e Symfony senior per correggerla. Continua a leggere
Ultima modifica: