PHP 7: le novità e miglioramenti più importanti

A grandi passi verso l'uscita di PHP 7, prevista in autunno. La versione 6 è stata tralasciata per prendere una nuova direzione di sviluppo.

PHP 7: le novità e miglioramenti più importanti
 

Inizia a prendere forma PHP 7, linguaggio open source per lo scripting server side. Lo sviluppo della alpha arriva un po' a sorpresa alla luce del mancato rilascio di PHP 6. La ragione di questo salto va evidentemente ricercate nella features che questa nuova release porterà con sé. In qualche modo si tratta di una scelta strategica della community per allontanarsi dalle idee e dalle direzione che avrebbe potuto prendere il linguaggio sulla 6. Alla base di ogni mossa c'è il tentativo di innalzare il livello delle performance. Ecco allora che si va verso la rivisitazione pressoché totale del sistema di gestione dei dati come array, stringhe e tabelle hash e la parallela riduzione dello spazio di memoria per l'allocazione delle variabili e dei loro puntatori.

Da mettere in conto anche la compatibilità con la generazione di un AST (Abstract Syntax Tree) e l'implementazione di un Web server Multi-threading standalone di PHP. Altra novità è il supporto ai return type ovvero alla possibilità di specificare il tipo di dato restituito da una funzione, un cambiamento che si rivelerà evidentemente utile per chi vuole sviluppare un codice più strutturato. Previsto il supporto per gli Scalar Type Hints con l'opportunità di specificare il tipo di un parametro tra int, float, string e boolean. Non passa inosservato il supporto per le classi anonime, quelle definite a runtime. Non ci sono nuove funzionalità sul versante sicurezza, ma modifiche sulla consistenza del linguaggio.

Come spiegato da Enrico Zimuel, senior software engineer di Zend Technologies a Neeners, le funzioni del PHP sono numerose e non è raro scoprirne nuove del anche dopo anni di utilizzo, per cui "questo numero così elevato ha comportato non pochi problemi sulla nomenclatura, provocando molte inconsistenze". Con il PHP 7 "si sta tentando di ridurre queste inconsistenze soprattutto sul versante dei costruttori di classe delle funzioni interne del linguaggio".