Zend Framework su PHP 8.
ZF1, Laminas e Mezzio.
Portiamo le applicazioni Zend Framework su un PHP supportato. ZF1 passa dal fork zf1-future, ZF2 e ZF3 vanno su Laminas, e per un orizzonte lungo riscriviamo per parti su Mezzio.
Per chi ha un gestionale o un portale su Zend Framework fermo su PHP 5 o 7 e non può aggiornare PHP senza rompere il framework. Scegliamo la strada con te, proteggiamo la produzione e migriamo per gradi.
Dal ramo che hai.
Al ramo supportato.
Il percorso dipende dalla generazione del framework. ZF1 non ha un aggiornamento automatico verso Laminas e di solito passa prima dal fork zf1-future. ZF2 e ZF3 si portano su Laminas con lo strumento ufficiale di migrazione, poi verso Mezzio.
- 01Zend Framework 1.12PHP 5.2.11 o superiore
Fuori supporto dal 28 settembre 2016, ultimo rilascio ufficiale 1.12.20.
- 02zf1-futurePHP 7.4 – 8.3
Fork della comunità con le stesse classi di ZF1, si installa con Composer.
- 03Zend Framework 2 e 3PHP 5.3 – 7.x
Archiviati e confluiti in Laminas, si convertono con
laminas-migration. - 04Laminas MVC 3.8PHP 8.1 – 8.4
Solo correzioni di sicurezza fino al 31 dicembre 2028, nessun adattamento a PHP 8.5.
- 05Mezzio 3PHP 8.2 – 8.5
Destinazione raccomandata da Laminas, a middleware e standard PSR.
Versioni e PHP.
Ramo per ramo.
Le versioni di PHP indicate sono quelle dichiarate dai pacchetti ufficiali. Lo stato è quello di novembre 2026.
Fonti: Repository di Zend Framework 1 · Calendario di fine vita di Laminas MVC · Strumento di migrazione a Laminas. La matrice dei rami di PHP con le distribuzioni Linux è nella pagina Versioni PHP.
Cosa blocca l’upgrade.
E come lo sblocchiamo.
Su Zend Framework il blocco nasce quasi sempre nel framework, prima ancora che nel codice applicativo. Questi sono i punti che incontriamo più spesso.
ZF1 non gira sui PHP recenti
Il codice originale di ZF1 è fermo al 2016 e si rompe con le versioni recenti di PHP. Sostituiamo la cartella library/Zend con zf1-future via Composer, mantenendo nomi di classi e interfacce.
Nessun percorso automatico da ZF1
Lo strumento di migrazione di Laminas copre ZF2, ZF3, Expressive e Apigility e lascia fuori ZF1. Tra le due generazioni cambiano nomi delle classi, ciclo della richiesta e configurazione, quindi serve una riscrittura pianificata.
Laminas MVC ha già una data di fine
Laminas MVC riceve solo correzioni di sicurezza fino al 31 dicembre 2028 e non verrà adattato a PHP 8.5. Per chi parte oggi valutiamo Mezzio o un altro framework moderno, così da evitare una seconda migrazione.
Codice applicativo per PHP 5
Anche con il framework aggiornato restano funzioni rimosse, costruttori in stile PHP 4 e proprietà dinamiche. Le troviamo prima del cambio di versione con PHPCompatibility, PHPStan e Rector.
Logica dentro controller e form
Più logica sta nei controller, in Zend_Form e in Zend_Db_Table, più costa la riscrittura. La spostiamo per gradi in classi PHP semplici caricate con Composer, riusabili dalla nuova applicazione.
Il nostro intervento.
Passo dopo passo.
Se la migrazione richiede tempo, nel frattempo teniamo protetto il PHP in uso con il backport delle patch di sicurezza.
- 01INVENTARIO
Inventario e matrice
Contiamo i componenti di Zend Framework usati dal codice e le dipendenze Composer. Ne ricaviamo una matrice di compatibilità con PHP e la strada più adatta tra fork, Laminas e riscrittura.
- 02STAGING
Ambiente di prova reale
Prepariamo un ambiente di prova con l’applicazione reale e una copia dei dati. Lì passiamo a zf1-future o a Laminas e correggiamo il codice per la versione di PHP di arrivo.
- 03UPGRADE
Per gradi, con i test
Saliamo di un ramo alla volta e copriamo con test i percorsi critici prima di ogni passaggio. Per una riscrittura su Mezzio spostiamo una sezione alla volta accanto alla vecchia applicazione.
- 04RILASCIO
Rilascio e ponte di sicurezza
Rilasciamo con Ansible e un piano di rollback provato. Se la migrazione richiede tempo, il backport delle patch di sicurezza protegge il PHP in uso nel frattempo.
Per approfondire.
Zend Framework 1 nel 2026: passare a Laminas o mantenere un fork compatibile?
Zend Framework 1 è fuori supporto dal 2016 e non si aggiorna automaticamente a Laminas. Le tre strade possibili nel 2026: il fork zf1-future, Laminas MVC in sola sicurezza fino al 2028, la riscrittura progressiva su un framework moderno.
Leggi l’approfondimentoAnalisi statica per la migrazione: PHPCompatibility, PHPStan e Rector in pratica
Come trovare i problemi di una migrazione a PHP 8 prima di cambiare versione: cosa fanno PHPCompatibility, Rector e PHPStan, come configurarli su un progetto legacy, in quale ordine usarli e cosa resta da verificare con i test.
Leggi l’approfondimentoDa PHP 5 a PHP 8: le funzioni rimosse che bloccano il tuo codice
Quali funzioni sono sparite in PHP 7.0 e in PHP 8.0, con cosa si sostituiscono, quali cambiamenti di comportamento rompono il codice senza errori evidenti e come fare l’inventario completo prima di iniziare la migrazione.
Leggi l’approfondimentoPrima di iniziare.
Le domande che ci fanno più spesso su Zend Framework e PHP.
Conviene passare da Zend Framework 1 a Laminas MVC?
Nella maggior parte dei casi no. Il passaggio da ZF1 richiede comunque una riscrittura, e Laminas MVC riceve solo correzioni di sicurezza fino al 31 dicembre 2028. Se si riscrive, conviene puntare a Mezzio o a un altro framework con un futuro più lungo.
zf1-future è una soluzione definitiva?
È il modo più rapido per portare ZF1 su un PHP supportato, dal 7.4 all’8.3 secondo il progetto. Dipende però da un gruppo di volontari senza un calendario di supporto garantito. Lo usiamo come base stabile mentre si pianifica il futuro dell’applicazione.
La mia applicazione è su ZF2 o ZF3: cosa cambia?
ZF2 e ZF3 sono confluiti in Laminas, e lo strumento ufficiale laminas-migration riscrive spazi dei nomi, dipendenze e configurazione. Dopo la conversione si aggiornano i componenti per la versione di PHP di arrivo. Per lo strato MVC valutiamo subito il passaggio a Mezzio.
Il server è su PHP 5.6: da dove partiamo?
Prima proteggiamo la produzione, perché zf1-future richiede almeno PHP 7.4 e il lavoro sul codice richiede tempo. Il backport delle patch di sicurezza sul PHP in uso fa da ponte mentre adattiamo framework e applicazione.
Aggiorniamo
il tuo progetto.
Indicaci versione della piattaforma, versione di PHP e sistema operativo. Ti risponderemo con una prima valutazione del percorso di upgrade e di cosa serve per arrivarci.
Richiedi una valutazioneLunedì – venerdì · 09:30 – 19:30
+39 340 985 4556 ↗