AGGIORNAMENTO E UPGRADE · ZEND FRAMEWORK

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.

PERCORSO DI UPGRADE

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.

  1. 01Zend Framework 1.12PHP 5.2.11 o superiore

    Fuori supporto dal 28 settembre 2016, ultimo rilascio ufficiale 1.12.20.

  2. 02zf1-futurePHP 7.4 – 8.3

    Fork della comunità con le stesse classi di ZF1, si installa con Composer.

  3. 03Zend Framework 2 e 3PHP 5.3 – 7.x

    Archiviati e confluiti in Laminas, si convertono con laminas-migration.

  4. 04Laminas MVC 3.8PHP 8.1 – 8.4

    Solo correzioni di sicurezza fino al 31 dicembre 2028, nessun adattamento a PHP 8.5.

  5. 05Mezzio 3PHP 8.2 – 8.5

    Destinazione raccomandata da Laminas, a middleware e standard PSR.

VERSIONI E REQUISITI PHP

Versioni e PHP.
Ramo per ramo.

Le versioni di PHP indicate sono quelle dichiarate dai pacchetti ufficiali. Lo stato è quello di novembre 2026.

VersionePHP richiestoStato a novembre 2026
Zend Framework 1.12.20PHP 5.2.11 o superioreFuori supporto dal 28 settembre 2016, repository archiviato
zf1-future 1.26PHP 7.4 o superiore, testato fino all’8.3Mantenuto da volontari, senza calendario di supporto garantito
Zend Framework 2.4 e 2.5PHP 5.3.23 o superiore (2.4), 5.5 o 7.x (2.5)Abbandonato, proseguito da Laminas
Zend Framework 3.0PHP 5.6 o 7.xAbbandonato, proseguito da Laminas
Laminas MVC 3.8PHP 8.1 – 8.4Solo sicurezza fino al 31 dicembre 2028
Mezzio 3.28PHP 8.2 – 8.5In sviluppo attivo

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 TROVIAMO DI SOLITO

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 METODO

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.

  1. 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.

  2. 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.

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

  4. 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.

DOMANDE FREQUENTI

Prima 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.

IL PROSSIMO PASSO

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 valutazione
PHP LEGACY · MANAGED SERVER S.R.L.info@phplegacy.it +39 02 5656 9681

Lunedì – venerdì · 09:30 – 19:30

Urgenza in corso? Reperibilità H24
+39 340 985 4556 ↗