Archivio

Archivio Articoli del Marzo 2025

Pagina 1 di 2

Maurizio Fonte - Consulente Informatico - Ingegnere del Software e Cyber Security Specialist Freelance

Event Sourcing con Laravel nel 2026: quando ha senso per una PMI e quando bastano alternative più semplici

Event Sourcing con Laravel nel 2026: quando ha senso per una PMI e quando bastano alternative più semplici Event Sourcing è uno dei pattern più potenti e più mal compresi del 2026. Per molti l'idea di "salvare ogni cambiamento come evento immutabile" sembra la soluzione naturale ai requisiti GDPR/NIS2. Ma su una PMI il costo architetturale è spesso sproporzionato. Quando vale la pena adottare Spatie laravel-event-sourcing v7 con CQRS, e quando un audit-chain leggero è la scelta tecnicamente più onesta. Continua a leggere
Ultima modifica:

Testing di API Laravel con Pest 3 nel 2026: dataset, mutation testing e CI per PMI che vogliono dormire

Testing di API Laravel con Pest 3 nel 2026: dataset, mutation testing e CI per PMI che vogliono dormire Pest 3 ha portato mutation testing, dataset, arch presets e nested describe nel testing PHP. Per le PMI con API Laravel in produzione il problema non è più scrivere test, è scriverli in modo che individuino bug reali e girino in CI in tempi accettabili. Cosa testare, come strutturare la suite e come portarla in pipeline CI. Continua a leggere
Ultima modifica:

Laravel Octane nel 2026: quando ha senso per una PMI e come evitarne i tranelli in produzione

Laravel Octane nel 2026: quando ha senso per una PMI e come evitarne i tranelli in produzione Laravel Octane 2.x oggi supporta FrankenPHP, Swoole e RoadRunner: tre driver con trade-off molto diversi. Per le PMI il problema non è "quanti RPS guadagno", ma se la codebase è pronta a vivere in memoria. Singleton, static state e persistent connections sono problemi documentati. Guida operativa: quando Octane ha senso, quando no, e come auditare la codebase prima del cutover. Continua a leggere
Ultima modifica:

CodeIgniter vs Laravel nel 2026: quando una PMI deve davvero migrare e come farlo senza fermarsi

CodeIgniter vs Laravel nel 2026: quando una PMI deve davvero migrare e come farlo senza fermarsi CodeIgniter 3 è in maintenance-only, PHP 8.1 ha raggiunto EOL il 31 dicembre 2025 e il JetBrains State of PHP 2024 stima 61% Laravel vs 11% CodeIgniter. Per le PMI con applicativi CI3 in produzione il problema non è più "se" migrare ma "come" farlo senza fermare il business. Questo articolo confronta CI3, CI4 e Laravel 12 con un approccio operativo: strangler pattern, route bridge e cutover graduale. 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:

Gestione errori API Laravel 12: da stack trace in produzione a Problem Details RFC 9457 con renderable exceptions

Gestione errori API Laravel 12: da stack trace in produzione a Problem Details RFC 9457 con renderable exceptions RFC 9457 (luglio 2023, IETF Standards Track) ha sostituito RFC 7807 come standard per i dettagli di errore nelle API HTTP, definendo il media type application/problem+json con cinque campi opzionali (type, title, status, detail, instance). Laravel 12 non lo implementa nativamente - il default è {"message": "Server Error"} - ma le renderable exceptions e withExceptions() in bootstrap/app.php permettono di conformarsi allo standard con codice minimale. Continua a leggere
Ultima modifica:

Middleware Laravel 12: da Kernel.php a bootstrap/app.php con security headers, rate limiting e terminable middleware

Middleware Laravel 12: da Kernel.php a bootstrap/app.php con security headers, rate limiting e terminable middleware Il middleware HTTP implementa il Chain of Responsibility pattern (GoF, 1994) e PSR-15 (PHP-FIG, 2018) lo ha standardizzato. Laravel 11 (PR #6188) ha eliminato Http/Kernel.php spostando la registrazione in bootstrap/app.php con API fluent. OWASP Security Headers Cheat Sheet documenta gli header che un middleware deve impostare per mitigare A05:2021 (Security Misconfiguration). Il terminable middleware esegue dopo l'invio della risposta - ideale per logging e analytics senza impatto sulla latenza. Continua a leggere
Ultima modifica:

Controller base Laravel 12: da AuthorizesRequests e ValidatesRequests impliciti a Form Request, Gate e composizione esplicita

Controller base Laravel 12: da AuthorizesRequests e ValidatesRequests impliciti a Form Request, Gate e composizione esplicita Il PR #6188 "Slim skeleton" di Taylor Otwell ha rimosso AuthorizesRequests e ValidatesRequests dal Controller base di Laravel 11. La motivazione: "$this->validate has not been documented in some time. $this->authorize can simply be Gate::authorize." Le Form Request (introdotte in Laravel 5.0, febbraio 2015) e il facade Gate sostituiscono i trait impliciti con composizione esplicita - il principio "favor composition over inheritance" del Gang of Four applicato al framework. Continua a leggere
Ultima modifica:

Fat Controller in Laravel 12: dal controller da 200 righe a Service Layer, Action pattern e Dependency Injection

Fat Controller in Laravel 12: dal controller da 200 righe a Service Layer, Action pattern e Dependency Injection Robert C. Martin definisce il Single Responsibility Principle come "un modulo deve essere responsabile verso un solo attore". Un controller Laravel che valida input, calcola totali, aggiorna stock, crea record e invia notifiche ha almeno cinque motivi per cambiare. Il Service Layer (Fowler, PoEAA) e l'Action pattern (Freek Van der Herten) estraggono la logica di business dal controller, e il Service Container di Laravel la rende iniettabile e testabile in isolamento. Continua a leggere
Ultima modifica:

Health check applicativi Laravel 12: da controller custom a Health Routing con DiagnosingHealth e spatie/laravel-health

Health check applicativi Laravel 12: da controller custom a Health Routing con DiagnosingHealth e spatie/laravel-health L'Health Routing di Laravel, introdotto in Laravel 11 (PR #47309), espone un endpoint /up che dispatcha l'evento DiagnosingHealth - i listener che lanciano eccezioni causano HTTP 500, altrimenti HTTP 200. È un check pass/fail per load balancer e Kubernetes probes. Per monitoring dettagliato con dashboard e notifiche, spatie/laravel-health (10M+ install) offre 16+ check integrati. AWS Builders' Library documenta il trade-off tra shallow e deep health check. Continua a leggere
Ultima modifica: