CakePHP su PHP 8.
Dal ramo 2.x al 5.x.
Aggiorniamo le applicazioni CakePHP una versione principale alla volta, usando lo strumento ufficiale di upgrade dove esiste e intervenendo a mano dove serve una migrazione.
Per chi ha un’applicazione su CakePHP 1.3, 2.x, 3.x o 4.x e deve arrivare a un ramo supportato e a PHP 8. Pianifichiamo le tappe, proteggiamo la produzione e rilasciamo senza sorprese.
Dal ramo che hai.
Al ramo supportato.
Tra 2.x e 3.x CakePHP cambia ORM, spazi dei nomi e struttura, quindi quel passaggio è una migrazione vera. Dalla 3.x in poi lo strumento ufficiale cakephp/upgrade automatizza molte modifiche, partendo sempre dall’ultima versione del ramo di origine.
- 01CakePHP 1.3PHP 4 e 5
Ramo storico, da portare prima sulla 2.x.
- 02CakePHP 2.10PHP 5.4 – 7.4
Fuori supporto. Verso la 3.x cambiano ORM, namespace e cartelle.
- 03CakePHP 3.10PHP 5.6 – 7.4
Ultimo 3.x, punto di partenza dello strumento di upgrade verso la 4.x.
- 04CakePHP 4.6PHP 7.4 – 8.3
Supporto di sicurezza terminato il 10 settembre 2026, base per la 5.x.
- 05CakePHP 5.4PHP 8.2 – 8.5
Ramo attivo, aggiornato con le regole Rector di
cakephp/upgrade.
Versioni e PHP.
Ramo per ramo.
Requisiti e stato seguono la tabella delle versioni supportate pubblicata da CakePHP. Lo stato è quello di novembre 2026.
Fonti: Versioni supportate di CakePHP · Guida all’aggiornamento a CakePHP 5.0 · Strumento ufficiale di upgrade. La matrice dei rami di PHP con le distribuzioni Linux è nella pagina Versioni PHP.
Cosa blocca l’upgrade.
E come lo sblocchiamo.
CakePHP documenta bene ogni salto di versione. I blocchi nascono soprattutto sui rami vecchi e quando le deprecazioni non sono state corrette per tempo.
Da 2.x a 3.x è una migrazione
La 3.x introduce un nuovo ORM, gli spazi dei nomi e una struttura di cartelle diversa. Lo strumento della 3.0 copre solo le modifiche meccaniche, quindi modelli, query e viste vanno riscritti con un piano per sezioni.
Lo strumento parte dall’ultima minore
cakephp/upgrade funziona solo se l’applicazione è sull’ultima versione del ramo di origine, la 3.x per andare alla 4.0 e la 4.x per andare alla 5.0. Allineiamo prima l’applicazione all’ultima minore e correggiamo le deprecazioni.
Tipi più rigidi nella 5.x
CakePHP 5 adotta tipi di unione e mixed, che cambiano molte firme dei metodi. Applichiamo le regole Rector cakephp50 e chronos3 e rivediamo a mano i punti in cui mancano tipi o docblock.
Plugin non aggiornati
Molti progetti usano plugin che si fermano a un ramo vecchio di CakePHP. Cerchiamo la versione compatibile o un sostituto mantenuto, oppure portiamo il codice necessario dentro l’applicazione.
PHP da aggiornare insieme
CakePHP 5.0 richiede almeno PHP 8.1 e dalla 5.3 serve almeno PHP 8.2. Coordiniamo ogni salto del framework con quello di PHP, così l’applicazione resta su una combinazione provata.
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
Censiamo versione di CakePHP, plugin, librerie Composer e versione di PHP. Ne ricaviamo una matrice di compatibilità e il numero di tappe necessarie fino alla 5.x.
- 02STAGING
Ambiente di prova reale
Prepariamo un ambiente di prova con l’applicazione reale e una copia dei dati. Lì attiviamo tutte le deprecazioni ed eseguiamo
cakephp/upgrade, rivedendo ogni modifica. - 03UPGRADE
Una major alla volta
Saliamo una versione principale alla volta, passando dall’ultima minore di ogni ramo. Dopo ogni tappa eseguiamo i test sui percorsi critici e rilasciamo se tutto è in ordine.
- 04RILASCIO
Rilascio e ponte di sicurezza
Rilasciamo con Ansible e un piano di rollback provato. Se le tappe richiedono mesi, il backport delle patch di sicurezza protegge il PHP in uso nel frattempo.
Per approfondire.
Analisi 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’approfondimentoGestionali custom su PHP vecchio: stimare tempi e costi della migrazione
Quali fattori determinano tempi e costi della migrazione di un gestionale custom su PHP fuori supporto, come misurarli sul codice, come usare la stima a tre punti per esprimere l’incertezza e cosa deve contenere un preventivo serio.
Leggi l’approfondimentoPrima di iniziare.
Le domande che ci fanno più spesso su CakePHP e PHP.
CakePHP 4 è ancora supportato?
Secondo la tabella ufficiale, il supporto di sicurezza di CakePHP 4.x è terminato il 10 settembre 2026. Il ramo supportato è la 5.x, con PHP da 8.1 a 8.5 a seconda della versione minore. Chi è sulla 4.x ha già tutto pronto per lo strumento di upgrade verso la 5.0.
Lo strumento ufficiale fa tutto il lavoro?
Automatizza molte modifiche ripetitive con Rector, come firme dei metodi e nomi dei file. Le dipendenze in composer.json, i plugin e la logica dell’applicazione vanno comunque aggiornati e provati. Rector funziona meglio dove il codice ha tipi o docblock.
Siamo su CakePHP 2.x: conviene riscrivere?
Il passaggio alla 3.x richiede già di riscrivere modelli e accesso ai dati, quindi va trattato come una migrazione. Dopo l’inventario valutiamo se arrivare alla 5.x per tappe o costruire direttamente sulla 5.x conservando logica e database. Nel frattempo proteggiamo il PHP in uso con il backport.
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 ↗