Sviluppatori di PHP 5, datemi almeno un motivo per tornare alla versione 4... anzi, un paio! Io, e lo dico con estrema sincerità , non ne ho trovati, salvo forse quello più "futile", ovvero quello di dover progettare la migrazione di qualche piattaforma. Ma questa è un'altra storia.
Come anticipato nel post d'apertura, inizia il percorso verso PHP 5.
Il primo argomento che vorrei affrontare è una nuova direttiva del nuovo PHP.ini, il file di configurazione di PHP.
Tra le 5 novità , zend.ze1_compatibility_mode è senz'altro quella maggiormente interessante ai nostri fini. Disattivata di default, abilitandola forzerete Zend Engine II, parte di PHP 5, a comportarsi come il fratello minore Zend Engine 1 in alcune situazioni, emulando PHP 4.
Attenzione, è fondamentale considerare che il comportamento di Zend Engine influenza solo alcune situazioni precise, come indicato. Nello specifico
- Ripristina il passaggio degli oggetti per valore, forzando la clonazione dei parametri nelle funzioni
- Ripristina la comparazione degli oggetti per caratteristiche (PHP 4) e non per riferimento (PHP 5)
- Ripristina il casting implicito degli oggetti di PHP 4
Se qualcuno di questi punti vi sfugge niente paura, saranno oggetti di post futuri.
Come avrete notato, il suo comportamento influenza quasi esclusivamente la modalità con il quale PHP 5 gestisce la manipolazione di oggetti. E tutto il resto?
Tutto il resto rimarrà inviariato, quindi array_merge()
continuerà a non accettare come parametro altro che array anche se zend.ze1_compatibility_mode
è attivata. In poche parole, vi troverete di fronte ad un ibrido che non è né PHP 4 né PHP 5.
Un consiglio, non abilitate questa opzione ma preoccupatevi piuttosto di comprendere le dinamiche di PHP 5 ed attivarvi al fine di aggiornare quanto sviluppato in PHP 4.
Ah, ovviamente non mancate di seguire le prossime puntate! ;)