Categoria

Pagina 4 di 11

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

Laravel è oggi il framework PHP più serio per costruire applicazioni aziendali. Non è una scelta trendy: è una scelta ingegneristica. Lo uso quotidianamente dalle prime versioni 5.x fino alla 12, in contesti che vanno dal marketplace LegalTech con 3000+ professionisti alle piattaforme di lead generation per clienti enterprise europei.

In questa categoria raccolgo articoli su architettura Laravel, Eloquent, queue, Octane, Livewire, Pennant, Horizon, Pulse, Telescope e ogni altra componente che sfrutto in progetti reali. Niente tutorial da "hello world": scrivo di scelte architetturali, trade-off, pattern applicati a problemi concreti di clienti che hanno bisogno di codice che duri nel tempo.

Se hai un progetto Laravel che deve scalare, una base legacy da modernizzare o un team interno che ha bisogno di supporto tecnico senior, scrivimi per una consulenza mirata. Oppure leggi chi sono e perché posso aiutarti a trasformare il tuo progetto Laravel in un asset aziendale.

Laravel ben scritto è codice che altri possono leggere, estendere e manutenere senza chiamarti nel weekend. È questo il vero valore.

Ottimizzare PHP-FPM per carichi elevati: pool, worker e tuning avanzato

Ottimizzare PHP-FPM per carichi elevati: pool, worker e tuning avanzato Durante un Black Friday, l'applicazione e-commerce di un cliente ha saturato i worker PHP-FPM in 90 secondi: 502 Bad Gateway per tutti. Il problema non era la CPU o la RAM, ma la configurazione del pool FPM con pm.max_children troppo basso. Vi mostro il processo di tuning che ho usato per non ripetere l'errore. Continua a leggere
Ultima modifica:

CQRS in PHP: separare letture e scritture per applicazioni Laravel ad alto carico

CQRS in PHP: separare letture e scritture per applicazioni Laravel ad alto carico Un'applicazione di reportistica con 50 query analitiche complesse che rallentavano le operazioni transazionali. Con CQRS ho separato i modelli di lettura da quelli di scrittura: le query analitiche usano read model denormalizzati aggiornati asincronamente, le operazioni transazionali volano sul modello normalizzato. Continua a leggere
Ultima modifica:

Migrazione da monolite a microservizi: il metodo Strangler Fig applicato a Laravel

Migrazione da monolite a microservizi: il metodo Strangler Fig applicato a Laravel La 'riscrittura totale' è quasi sempre un errore. Con il pattern Strangler Fig ho aiutato una società logistica a estrarre gradualmente funzionalità dal loro monolite Laravel: prima il modulo di tracking, poi la fatturazione. Due anni dopo, tre microservizi autonomi e il monolite ridotto del 40%, sempre in produzione. Continua a leggere
Ultima modifica:

Domain-Driven Design con Laravel: implementare bounded contexts in un progetto reale

Domain-Driven Design con Laravel: implementare bounded contexts in un progetto reale DDD viene spesso presentato come una soluzione per tutti i problemi architetturali, ma in pratica richiede una comprensione profonda del dominio di business. Vi racconto come l'ho applicato a un'applicazione assicurativa PHP, quali parti del pattern hanno funzionato e quali ho abbandonato come over-engineering. Continua a leggere
Ultima modifica:

GraphQL con Laravel Lighthouse: quando conviene rispetto a REST e come implementarlo

GraphQL con Laravel Lighthouse: quando conviene rispetto a REST e come implementarlo Ho valutato GraphQL per il refactoring dell'API di un'applicazione mobile Laravel usata da 10.000 utenti. La promessa del 'un endpoint per tutto' si scontra con la complessità di N+1 problem, autorizzazione fine-grained e caching. Vi racconto l'analisi completa e quando la scelta è giustificata. Continua a leggere
Ultima modifica:

Event-driven architecture con PHP: dall'evento al handler senza accoppiamento

Event-driven architecture con PHP: dall'evento al handler senza accoppiamento Un gestionale ordini con 14 side effect per ogni conferma d'ordine: email, aggiornamento magazzino, contabilità, notifiche. Tutto in un controller. Ho refactorizzato verso event-driven: un evento OrderConfirmed, undici handler indipendenti, deployment graduale. Il codice è passato da ingestibile a modificabile. Continua a leggere
Ultima modifica:

React con Laravel API: full-stack architecture per applicazioni gestionali moderne

React con Laravel API: full-stack architecture per applicazioni gestionali moderne Quando un cliente vuole modernizzare il frontend del suo gestionale senza riscrivere il backend PHP, React + Laravel API è spesso la risposta giusta. Vi mostro l'architettura che uso: Sanctum per l'autenticazione, React Query per lo stato server, Vite per il build e deployment separato su Nginx. Continua a leggere
Ultima modifica:

FastAPI con Python per microservizi ad alte prestazioni: integrazione con Laravel

FastAPI con Python per microservizi ad alte prestazioni: integrazione con Laravel Il motore di raccomandazione di un cliente e-commerce richiedeva librerie Python di ML che non esistono in PHP. Ho estratto quella funzionalità in un microservizio FastAPI che Laravel consulta via HTTP con JWT. Latenza p95 di 40ms, deployment Docker su Hetzner. Vi mostro l'architettura e i pattern di integrazione. Continua a leggere
Ultima modifica:

Laravel Telescope in produzione: debugging avanzato senza impatto sulle prestazioni

Laravel Telescope in produzione: debugging avanzato senza impatto sulle prestazioni Telescope è uno strumento potente ma va usato in produzione con cautela: senza configurazione adeguata, logga dati sensibili degli utenti e rallenta l'applicazione. Vi mostro la configurazione che uso per abilitare Telescope in produzione solo per gli IP del team, con filtri su query, request body e response. Continua a leggere
Ultima modifica:

Eloquent performance: 10 pattern che rallentano le tue query senza che tu lo sappia

Eloquent performance: 10 pattern che rallentano le tue query senza che tu lo sappia Ho usato Laravel Telescope su un'applicazione di e-commerce per analizzare 48 ore di traffico reale. I risultati erano impietosi: 340 query per pagina di listing, di cui 280 erano N+1 generati da relazioni non ottimizzate. Vi mostro i 10 pattern più comuni e come identificarli prima che arrivino in produzione. Continua a leggere
Ultima modifica: