Categoria

Pagina 3 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.

Lazy loading in PHP 8.4: ottimizzare l'inizializzazione di oggetti costosi

Lazy loading in PHP 8.4: ottimizzare l'inizializzazione di oggetti costosi PHP 8.4 introduce lazy objects nativi che permettono di ritardare l'inizializzazione di servizi pesanti fino al primo utilizzo, senza proxy manuali. Ho testato l'impatto su un'applicazione Symfony con 80 servizi registrati nel container: il tempo di bootstrap dell'applicazione è sceso del 35% con 8 righe di configurazione. Continua a leggere
Ultima modifica:

PHP 8 Enums: sostituire le costanti di classe e i magic strings nei domini di business

PHP 8 Enums: sostituire le costanti di classe e i magic strings nei domini di business Ogni codebase PHP legacy che eredo ha la stessa peste: costanti integer o stringhe magiche per rappresentare stati di business. ORDINE_STATO_1, ORDINE_STATO_2. Con PHP 8 Enums, ho modernizzato un sistema ordini trasformando 40 costanti sparse in enum tipizzati con metodi di dominio. Il codice è diventato leggibile. Continua a leggere
Ultima modifica:

Vettori di attacco nel codice generato da LLM: analisi offensiva delle vulnerabilità ricorrenti

Vettori di attacco nel codice generato da LLM: analisi offensiva delle vulnerabilità ricorrenti Dal punto di vista di un attaccante, il codice LLM-generated è una miniera d'oro. I pattern ricorrenti - concatenazione di input in query, gestione uniforme degli errori che leak info sensibili, assunzioni di sanitizzazione fatte dall'LLM senza dirlo - sono sfruttabili con PoC mirati. Ti racconto 5 classi di attacco osservate su codice reale, con exploit dimostrato e la strategia di difesa applicativa che uso in audit. Continua a leggere
Ultima modifica:

Git hooks per la sicurezza: prevenire il commit di secrets e codice vulnerabile

Git hooks per la sicurezza: prevenire il commit di secrets e codice vulnerabile Un'API key di produzione finita su GitHub pubblico per errore di un junior. Con pre-commit hooks avrei potuto prevenirlo. Vi mostro il setup che uso su tutti i miei progetti: detect-secrets per le credenziali, PHPStan per i bug evidenti, licenza check e formattazione automatica. Installazione in 10 minuti. Continua a leggere
Ultima modifica:

Sicurezza JWT in PHP: vulnerabilità nell'implementazione e come costruire token sicuri

Sicurezza JWT in PHP: vulnerabilità nell'implementazione e come costruire token sicuri JWT è facile da implementare male. Ho trovato algorithm confusion attack (alg: none) in tre API Laravel auditate nell'ultimo anno - una vulnerabilità che permette di forgiare token validi senza conoscere il segreto. Vi spiego le vulnerabilità tipiche e il pattern di implementazione sicura con firebase/php-jwt. Continua a leggere
Ultima modifica:

Structured output validation di LLM in PHP: schemi JSON, fail-safe e difesa da hallucination in produzione

Structured output validation di LLM in PHP: schemi JSON, fail-safe e difesa da hallucination in produzione Un LLM in produzione che restituisce testo libero è una bomba a orologeria: prima o poi hallucinerà un valore fuori range e romperà la pipeline a valle. La difesa strutturale è lo structured output con JSON Schema validato rigorosamente, più fail-safe multi-livello per le risposte malformate. Ti mostro i pattern che uso in PHP: prompt con schema esplicito, parsing difensivo, retry con correzione automatica, fallback a pipeline deterministica. Con codice reale Laravel e Symfony. Continua a leggere
Ultima modifica:

MCP server personalizzati per Claude Code: estendere il workflow aziendale con tool custom

MCP server personalizzati per Claude Code: estendere il workflow aziendale con tool custom Claude Code fuori dalla scatola è potente, ma nei workflow aziendali complessi serve l'integrazione con database interni, API di gestionali proprietari, automazioni custom. Gli MCP server sono la risposta: un protocollo aperto per esporre tool strutturati agli agent LLM. Ti mostro l'architettura di un MCP server in PHP che ho costruito per interrogare database aziendali in sicurezza, con schema, validation e logging. Continua a leggere
Ultima modifica:

Dependency injection avanzato in PHP 8: costruire servizi testabili e sostituibili

Dependency injection avanzato in PHP 8: costruire servizi testabili e sostituibili La dependency injection è il pattern che più di ogni altro determina la testabilità del codice PHP. Vi mostro i pattern avanzati che uso in progetti complessi: constructor promotion di PHP 8, binding a interfaccia, lazy proxy per servizi costosi e come scrivere test che non dipendono dall'implementazione concreta. Continua a leggere
Ultima modifica:

Symfony Security Component: autenticazione custom e voter per controllo accessi fine-grained

Symfony Security Component: autenticazione custom e voter per controllo accessi fine-grained Per un'applicazione di gestione pratiche per uno studio legale, il sistema di autorizzazione doveva essere granulare a livello di documento, non solo di ruolo. Ho implementato Symfony Voter con regole basate su ownership, stato del documento e relazioni tra entità. Vi mostro l'architettura e il codice reale. Continua a leggere
Ultima modifica:

Cryptography in PHP: usare libsodium correttamente per cifrare dati sensibili

Cryptography in PHP: usare libsodium correttamente per cifrare dati sensibili Il 70% dei sistemi PHP che ho auditato usava openssl_encrypt con parametri sbagliati o mcrypt deprecato. Libsodium è disponibile di default da PHP 7.2 e offre primitive crittografiche moderne e difficili da usare male. Vi mostro i pattern corretti per cifrare dati a riposo in un'applicazione gestionale Laravel. Continua a leggere
Ultima modifica: