Categoria

Pagina 4 di 8

PHP: il motore di una fetta enorme del web, scritto bene

PHP non è morto, non è legacy, non è solo "lo usano ancora per WordPress". Oggi PHP 8.4 è un linguaggio moderno, tipizzato, veloce, con un ecosistema ingegneristicamente maturo. Lo uso da vent'anni, ho attraversato ogni major release dal 4.x all'8.x, e oggi lo scelgo consapevolmente ogni volta che un cliente ha bisogno di un backend affidabile.

In questa categoria trovi articoli su PHP moderno: nuove feature linguistiche, OPcache, attributes, enums, fibers, typed properties, e come portare una base PHP 5.x o 7.x verso PHP 8.x senza rompere nulla. Scrivo dall'esperienza di chi manutiene codebase di produzione, non dal punto di vista dello sviluppatore che ha letto la documentazione.

Se hai un progetto PHP da modernizzare, un'applicazione lenta da ottimizzare, o semplicemente vuoi confrontarti con un consulente senior che lavora su PHP da più tempo di molti framework attuali, parliamone. Puoi anche scoprire il mio percorso professionale.

Il linguaggio non è il problema. Il problema è sempre come lo usi, in che contesto, e se chi lo scrive sa davvero cosa sta facendo.

Claude Code in produzione per sviluppatori PHP senior: setup, flussi di lavoro, integrazione con pipeline esistenti

Claude Code in produzione per sviluppatori PHP senior: setup, flussi di lavoro, integrazione con pipeline esistenti Claude Code non è un autocompletamento migliorato, è un agente che esegue comandi sul tuo filesystem. Usarlo in produzione senza un'impostazione ingegneristica rigorosa significa creare debito tecnico invisibile. Ti racconto come l'ho configurato nella mia pipeline: hook di validazione pre-bash, rules per delimitare il perimetro operativo, integrazione con Git e con strumenti di analisi statica PHP. Continua a leggere
Ultima modifica:

Sicurezza dei file upload in Symfony: validazione profonda e archiviazione sicura

Sicurezza dei file upload in Symfony: validazione profonda e archiviazione sicura In un assessment su un portale Symfony per la gestione documentale di un'azienda legale, ho trovato upload senza validazione del MIME reale: bastava rinominare un PHP in .pdf per caricarlo ed eseguirlo. Vi mostro la catena di validazione completa che uso in produzione, dal content-type all'isolamento dello storage. Continua a leggere
Ultima modifica:

Sistema di integrazione eventi con Kafka e PHP: architettura produttiva per PMI

Sistema di integrazione eventi con Kafka e PHP: architettura produttiva per PMI Un'azienda di spedizioni aveva cinque sistemi legacy che dovevano scambiarsi eventi in tempo reale. REST era troppo fragile, RabbitMQ non reggeva i volumi. Ho introdotto Kafka con un client PHP su Swoole: 50.000 eventi al giorno con perdita zero e consumer che ripartono dall'ultimo offset in caso di crash. 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:

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:

TypeScript per sviluppatori PHP: guida alla transizione senza traumi

TypeScript per sviluppatori PHP: guida alla transizione senza traumi Ho iniziato a scrivere TypeScript seriamente due anni fa dopo vent'anni di PHP. La curva di apprendimento è stata più breve di quanto pensassi, ma i punti di attrito erano diversi da quelli che mi aspettavo. Vi racconto il percorso con le analogie che mi hanno aiutato e gli errori che ho fatto all'inizio. Continua a leggere
Ultima modifica:

PHP 8.3 match expression e named arguments: modernizzare codice legacy senza rischi

PHP 8.3 match expression e named arguments: modernizzare codice legacy senza rischi Modernizzare un'applicazione PHP 7.4 a PHP 8.3 non significa riscrivere tutto - significa sfruttare le nuove feature dove migliorano la leggibilità e la sicurezza. Vi mostro il processo che uso: identificare i candidati giusti per match expression e named arguments, refactoring sicuro con test a tappeto. Continua a leggere
Ultima modifica:

PHP Fibers: concorrenza cooperativa per applicazioni Laravel ad alto carico

PHP Fibers: concorrenza cooperativa per applicazioni Laravel ad alto carico Un'API Laravel che doveva fare 12 chiamate HTTP esterne per comporre una risposta impiegava 3,2 secondi in media. Con PHP Fibers e Octane ho portato lo stesso endpoint a 340ms senza cambiare l'architettura dell'applicazione. Vi spiego come funzionano i Fiber e come integrarli in modo sicuro con Laravel. Continua a leggere
Ultima modifica:

Laravel 12 Volt e Folio: costruire UI reactive senza JavaScript con Livewire

Laravel 12 Volt e Folio: costruire UI reactive senza JavaScript con Livewire Un pannello di amministrazione con 30 sezioni costruito con React richiedeva uno sviluppatore frontend dedicato per ogni modifica. L'ho riscritto in Livewire Volt in due settimane: stessa funzionalità, zero JavaScript custom, gestito interamente da un team PHP. Produttività quadruplicata, bundle eliminato. 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: