Categoria

Pagina 4 di 4

Laravel: il framework PHP che scelgo per i progetti che devono durare

Laravel è oggi il framework PHP più serio per costruire applicazioni aziendali, per la maturità ingegneristica del suo ecosistema. Lo uso dalle prime versioni 5.x fino alla 12 su gestionali, piattaforme SaaS, e-commerce e sistemi B2B che devono restare in produzione per anni. In questa categoria porto il criterio con cui si decide che cosa adottare e che cosa lasciar perdere.

Al centro c'è l'architettura. Un progetto Laravel invecchia bene solo se la logica di business è separata dall'infrastruttura, se i controller restano magri e la complessità vive in un service layer testabile: così l'applicazione si estende senza paura, e una modifica non porta regressioni a catena. Scrivo di service layer e principi SOLID, di quando un pattern come l'event-driven o il repository aggiunge valore reale e quando è solo cerimonia, e di quel confine, spesso frainteso, oltre il quale spezzare un monolite in microservizi costa più di quanto rende.

Molto spazio va alla vita dell'applicazione in produzione: le prestazioni sotto carico vero, dove il collo di bottiglia sta quasi sempre nell'accesso ai dati; il lavoro asincrono con code e worker, che diventa indispensabile appena un'operazione non può più bloccare la richiesta dell'utente; e la sicurezza, che in Laravel si tiene dal primo commit, dalla gestione dei segreti all'hardening secondo criteri verificabili.

E poi c'è il tempo: come si accompagna una codebase attraverso le versioni major senza fermare il business, come si subentra su un progetto ereditato e senza documentazione, come si modernizza una base datata senza riscriverla da zero. È il lavoro meno appariscente, e protegge un'azienda dal debito tecnico che si accumula in silenzio. Sullo sfondo, il capitolo che si sta aprendo ora: Laravel che diventa AI-native, e il modo corretto di orchestrare i modelli lasciando il controllo del dominio all'applicazione.

Se hai un progetto Laravel da far scalare o una base da modernizzare, vedi i miei progetti PHP senior o parliamone nella consulenza IT e DevOps.

Laravel ben scritto è codice che altri possono leggere, estendere e manutenere senza chiamarti nel weekend.

Validazione in Laravel 12: da closure inline a Rule Objects con ValidationRule per regole testabili, riutilizzabili e type-safe

Validazione in Laravel 12: da closure inline a Rule Objects con ValidationRule per regole testabili, riutilizzabili e type-safe L'interfaccia ValidationRule, introdotta in Laravel 10, ha sostituito la vecchia Rule con passes()/message() e InvokableRule, entrambe deprecate. Un unico metodo validate() con closure $fail permette regole testabili in isolamento, parametrizzabili via costruttore, e riutilizzabili su più Form Request senza duplicazione. Continua a leggere
Ultima modifica:

Concurrency::run() in Laravel: esecuzione parallela di task I/O-bound senza code, worker o estensioni pcntl

Concurrency::run() in Laravel: esecuzione parallela di task I/O-bound senza code, worker o estensioni pcntl Concurrency::run() è stato introdotto in Laravel 11.23 e stabilizzato in Laravel 12. Il driver process (default) serializza le closure, le esegue in processi PHP figli separati via Artisan, e restituisce i risultati al processo padre. Non usa fibers né thread - ogni task ha il proprio bootstrap completo dell'applicazione. Continua a leggere
Ultima modifica:

Testing dei job in coda Laravel: da Queue::fake() a withFakeQueueInteractions() per validare retry, release e failure senza broker

Testing dei job in coda Laravel: da Queue::fake() a withFakeQueueInteractions() per validare retry, release e failure senza broker Queue::fake() verifica che un job venga dispatchato correttamente, ma non testa cosa succede dentro handle() quando il job deve rilasciarsi, cancellarsi o fallire. withFakeQueueInteractions(), introdotto in Laravel 11, permette di chiamare handle() in isolamento e asserire su release(), delete() e fail() senza un broker reale. Continua a leggere
Ultima modifica:

Refactoring delle integrazioni API esterne in Laravel: da chiamate Guzzle sparse a HTTP Client con Macro e testing deterministico

Refactoring delle integrazioni API esterne in Laravel: da chiamate Guzzle sparse a HTTP Client con Macro e testing deterministico L'HTTP Client di Laravel wrappa Guzzle aggiungendo macro riutilizzabili, retry con backoff esponenziale e Http::fake() per testing deterministico. In un applicativo con 12 integrazioni esterne, il refactoring da chiamate Guzzle sparse a service class con macro ha eliminato 400 righe di codice duplicato e reso testabili integrazioni che prima non lo erano. Continua a leggere
Ultima modifica:

Aggiornamento sicurezza credenziali Laravel: implementare rotazione chiavi e rehashing password da L9/L10 a L12 per la tua impresa

Aggiornamento sicurezza credenziali Laravel: implementare rotazione chiavi e rehashing password da L9/L10 a L12 per la tua impresa Una ricerca GitGuardian/Synacktiv del 2025 ha trovato 260.000 APP_KEY Laravel esposte su GitHub, con oltre 600 applicazioni vulnerabili a RCE. Laravel 11 ha introdotto la rotazione graceful delle chiavi e il rehashing automatico delle password - due funzionalità che riducono drasticamente il rischio. Continua a leggere
Ultima modifica:

Feature flag in Laravel: modernizzare la gestione da approcci custom L9/L10 a Laravel Pennant per applicazioni aziendali scalabili in L12

Feature flag in Laravel: modernizzare la gestione da approcci custom L9/L10 a Laravel Pennant per applicazioni aziendali scalabili in L12 Le feature flag gestite con config() e tabelle custom generano debito tecnico che cresce con ogni funzionalità aggiunta. Laravel Pennant offre definizioni class-based, scoping per utente o tenant, rollout percentuali e un'API di testing che semplifica la migrazione da approcci legacy. Continua a leggere
Ultima modifica:

Ottimizzare le query Eloquent in applicazioni Laravel: strategie avanzate per la performance di gestionali ed e-commerce

Ottimizzare le query Eloquent in applicazioni Laravel: strategie avanzate per la performance di gestionali ed e-commerce Applicazioni Laravel performanti sono cruciali per gestionali ed e-commerce delle PMI. Spesso il collo di bottiglia risiede in query Eloquent non ottimizzate. Questo articolo esplora tecniche avanzate dall'eager loading alla selezione selettiva, fino alle subquery e all'automatic eager loading introdotto in Laravel 12, per trasformare le interazioni con il database da problema a punto di forza. Continua a leggere
Ultima modifica:

Ottimizzazione delle prestazioni in Laravel 12: tecniche avanzate di caching con Redis

Ottimizzazione delle prestazioni in Laravel 12: tecniche avanzate di caching con Redis Un'applicazione Laravel lenta può costare caro alla tua PMI in termini di esperienza utente e conversioni. Laravel 12, abbinato alla potenza di Redis, offre strategie di caching avanzate per velocizzare il tuo sito. In questa guida pratica ti mostro come implementare object cache, query cache e altre tecniche per ridurre i tempi di risposta e il carico sui tuoi database. Continua a leggere
Ultima modifica:

Strumenti per chi sviluppa in Laravel

Piccoli tool che tornano comodi nel lavoro quotidiano:

Audit del composer.lock, Regex tester, Generatore UUID, Interprete di espressioni cron.