Categoria

Pagina 1 di 4

PHP: il linguaggio che regge una fetta enorme del web, usato come si deve

Con la 8.4 PHP è un linguaggio tipizzato, veloce e con un ecosistema ingegneristicamente maturo, ben lontano dall'idea di "linguaggio di WordPress", e la 8.5 continua a spingerlo in avanti. Lo uso da oltre vent'anni, ho attraversato ogni major dalla 4.x alla 8.x, e in questa categoria porto il criterio con cui si scrive PHP destinato a restare in produzione per anni.

Molti articoli parlano della modernità che conta davvero. Enums, property hooks, lazy objects, fibers, tipizzazione stretta e OPcache cambiano il modo di modellare un dominio e di reggere il carico. Scrivo di come si usano per rendere il codice più leggibile e più veloce, e di quando una feature nuova è solo zucchero sintattico che non vale il rischio di adottarla.

Altri affrontano la realtà del codice legacy. Gran parte del PHP che gira nelle aziende è una base 5.x o 7.x che qualcuno deve tenere viva, mettere in sicurezza e portare avanti senza fermare il servizio. Qui l'esperienza pesa più della teoria, dal porting delle vecchie funzioni deprecate alla gestione dei cambi di comportamento silenziosi fra una versione e l'altra.

Poi la sicurezza come parte del linguaggio, pensata dal primo giorno: crittografia fatta con libsodium, sessioni difese da fixation e hijacking, upload validati in profondità, JWT implementati senza le trappole classiche. E sullo sfondo il capitolo che sta cambiando il mestiere: PHP nell'era dell'AI, dal debugging assistito alla validazione dell'output dei modelli.

Se hai un progetto PHP da modernizzare o un backend da irrobustire, guarda come lavoro sui progetti PHP senior oppure scrivimi per una consulenza mirata.

Quasi mai il problema è il linguaggio. Conta come lo usi, in che contesto, e se chi lo scrive sa cosa sta facendo.

Le scadenze EOL di PHP che contano nel 2026: il piano di migrazione che parte adesso

Le scadenze EOL di PHP che contano nel 2026: il piano di migrazione che parte adesso Le scadenze EOL di PHP non sono un dettaglio da sysadmin: sono una leva di rischio per chi resta indietro. Lo stato reale nel 2026, con le date dal dossier: 8.3 già in security-only, 8.4 in supporto attivo fino a fine anno, 8.2 fuori dalla sicurezza a fine 2026. Il piano di migrazione da avviare adesso per chi è su 8.2 o 8.3: checklist, deprecazioni da gestire, test, e perché aspettare l'ultimo trimestre è la scelta più costosa. Continua a leggere
Ultima modifica:

Il pipe operator di PHP 8.5: leggibilità reale o zucchero sintattico?

Il pipe operator di PHP 8.5: leggibilità reale o zucchero sintattico? PHP 8.5 introduce il pipe operator, e la domanda onesta è se migliori davvero la leggibilità o sia solo zucchero sintattico. Analisi pratica: cosa risolve davvero, ovvero le chain leggibili da sinistra a destra; i limiti reali con i callable a più parametri e i built-in da wrappare; e gli esempi da codice gestionale dove il pipe rende il flusso chiaro contro quelli dove aggiunge solo una sintassi nuova. Onesto sui tradeoff, non entusiasta per default. Continua a leggere
Ultima modifica:

Migrare da PHP 7.4 a 8.3: checklist per applicazioni legacy in produzione

Migrare da PHP 7.4 a 8.3: checklist per applicazioni legacy in produzione Migrare un'applicazione legacy da PHP 7.4 a 8.3 è un progetto di rischio gestito, non un aggiornamento al volo. Checklist concreta: i breaking changes che mordono davvero, le deprecazioni da intercettare prima del deploy, la strategia incrementale per non fermare la produzione e la suite di test che fa da rete. Con le date EOL aggiornate, perché restare su 7.4 nel 2026 non è più un'opzione di sicurezza. Continua a leggere
Ultima modifica:

Laravel: la scelta migliore per le applicazioni Web-based

Laravel: la scelta migliore per le applicazioni Web-based "Laravel è la scelta migliore" è il tipo di affermazione di cui diffido, perché nessuno strumento è il migliore per tutto. Eppure, quando un cliente mi chiede su cosa costruire una nuova applicazione web aziendale, nella maggioranza dei casi la mia risposta è Laravel, e non per moda: è una scelta di ingegneria, fondata su velocità di sviluppo, manutenibilità ed ecosistema. Vediamo perché lo scelgo, cosa lo distingue nel 2026, e quando invece consiglio altro. Continua a leggere
Ultima modifica:

Migrare un gestionale PHP 5.6 a PHP 8.4 senza riscriverlo: il caso reale di un e-commerce B2B con 12 anni di codice procedurale

Migrare un gestionale PHP 5.6 a PHP 8.4 senza riscriverlo: il caso reale di un e-commerce B2B con 12 anni di codice procedurale Un e-commerce B2B con 47.000 righe di PHP 5.6 procedurale, 340 chiamate mysql_connect(), un hosting che aveva annunciato la rimozione di PHP 5.6 entro 60 giorni, e un titolare che non poteva permettersi downtime. In quattro settimane l'ho migrato a PHP 8.4 senza riscrivere l'applicazione: ecco il metodo, gli strumenti, le breaking changes reali e le decisioni che hanno fatto la differenza. Continua a leggere
Ultima modifica:

PHP e memory management: come evitare i memory leak nelle applicazioni di lunga esecuzione

PHP e memory management: come evitare i memory leak nelle applicazioni di lunga esecuzione I worker Laravel Horizon di un cliente consumavano 500MB di RAM dopo 6 ore di esecuzione e venivano killati automaticamente. Il memory leak non era ovvio: un event listener registrato globalmente teneva riferimenti a ogni job processato. Vi mostro il processo di diagnosi con Blackfire e le strategie di correzione. Continua a leggere
Ultima modifica:

Gestione delle sessioni sicure in PHP: session fixation, hijacking e best practice

Gestione delle sessioni sicure in PHP: session fixation, hijacking e best practice La sessione PHP è uno dei vettori di attacco più sottovalutati. In un assessment su un portale bancario PHP, ho dimostrato session fixation in meno di 10 minuti sfruttando un PHPSESSID passato in query string. Vi mostro la configurazione php.ini che elimina la classe di vulnerabilità e i pattern di sessione sicura per Laravel. 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:

Strumenti PHP utili

Tool gratuiti che uso e che possono servirti mentre lavori su PHP:

Audit del composer.lock, Regex tester, JSON formatter, Generatore UUID.