Di JEROEN VAN DER MEER
Tradotto molto liberamente da http://jero.net/articles/php6

Mentre gran parte dei web server utilizzano la versione 4 di Php, gli sviluppatori stanno già pianificando e sviluppando la sesta major release. Bè, diamo un’occhiata a quello che li sta tenendo così impegnati…

SUPPORTO UNICODE
Quando stai sviluppando un sito, difficilmente pensi alla codifica del set di caratteri (character encoding); al massimo ti occupi di informare il browser di che character encoding debba utilizzare per leggere e renderizzare i testi della pagina, problema che può essere facilmente risolto impostando un valore di default nel file di Apache .htaccess.
Nonostante questo, se stai sviluppando un’applicazione, la codifica dei caratteri può causare problemi, ed è qui che verrà in aiuto, in Php 6, il nuovo supporto Unicode, grazie al quale lo Zend Engine potrà automaticamente codificare e decodificare input e output dello script facendo in modo che sia il database, sia il browser del client ricevano i dati nel formato che necessitano; tutto questo senza l’utilizzo di funzioni extra per la conversione da un charset ad un altro.

PULIZIE DI PRIMAVERA
Da quasi 15 anni molta gente utilizza Php, e questo ha inevitabilmente portato alla proliferazione di molte cattive abitudini; il risultato? Lentezza nell’esecuzione degli script e parecchie falle di sicurezza. Talvolta addirittura lo sviluppatore non è nemmeno consapevole di questo pericoloso utilizzo di Php.
Insomma, sto parlando delle register_globals (http://php.net/manual/en/security.globals.php), delle magic_quotes (http://php.net/manual/en/security.magicquotes.php) e della modalità safe_mode (http://php.net/manual/en/features.safe-mode.php).
Sono tutte e tre un incubo per gli sviluppatori Php, e sicuramente non farà dispiacere sapere che nella sesta major release verranno completamente rimosse dal linguaggio.
Inoltre non potremmo più scrivere $HTTP_COOKIE_VARS, ma solo la versione abbreviata $_COOKIE.

Immagine del post

NOVITA’ DAL FRONTE CACHE
Il sistema di cache APC (Alternative PHP Cache), in uso già dal luglio 2003, diventerà il sistema di caching di default in Php 6.
La cache è un ottimo mezzo per migliorare le performance della vostra applicazione Php, per questo la richiesta di un meccanismo del genere è sempre stata forte.
E il team di Php, includendo nel core della nuova major release APC ( http://pecl.php.net/package/apc ), sembra proprio essere andato incontro alle richieste dei suoi utenti.

OOP: ARRIVANO I NAMESPACE
La versione 5 di Php aveva completamente rivoluzionato l’approcio alla programmazione orientata agli oggetti, ma i cambiamenti non finiscono qui.
In Php 6 verranno infatti introdotti i namespace che, se non lo sapeste (non tutti utilizzano C++…), permettono di raggruppare variabili, funzioni e oggetti sotto una determinata parola chiave astratta.
Questo dà la possibilità allo sviluppatore di utilizzare lo stesso nome più volte quando nomina una variabile, una funzione o un oggetto, purchè chiaramente essi appartengano a namespace diversi.
Qui trovi un interessante tutorial C++ che descrive il funzionamento dei namespace: http://cplusplus.com/doc/tutorial/namespaces.html

ESTENSIONE CHE VA, ESTENSIONE CHE VIENE
Php in realtà non è altro che una collezione di estensioni riunite insieme nel linguaggio che conosciamo. Le estensioni cambiano, e lo stesso vale anche per le “collezioni”.
Prendete per esempio l’estensione XML Writer, utilissima per scrivere i file XML. La sua sorella, XML Reader, era stata già aggiunta nel nucleo principale di Php 5.1 e, con Php 6, toccherà finalmente lo stesso destino anche a XML Writer.
Altra modifica al nucleo centrale ( core distribution ) è la rimozione del supporto per le espressioni regolari Ereg: nella versione di default di Php 6 troverete infatti solamente le regex in stile Perl PCRE (preg_match, preg_replace…).
Se volete utilizzare le vecchie Ereg, non vi resta che abilitare la relativa estensione.
L’estensione per riconoscere il media type dei files attualmente in uso (mime_magic) verrà sostituito da una sistema più efficace, che verrà addirittura integrato nella core distribution.

CONCLUSIONI
Abbiamo elencato parecchie novità interessanti.
Non penso che Php 6 presenti numerose nuove caratteristiche, ma piuttosto ritengo che sia una revisione, quasi una “pulizia” delle versione precedenti, e che allo stesso presenti notevoli miglioramenti alle funzioni già presenti. Ed è già un bel passo avanti!
Insomma, scorrendo questa lista (la versione completa è disponibile qui: http://php.net/~derick/meeting-notes.html ), non vedo che miglioramenti!

RISPOSTA DI MADERO
Sono d’accordo con te sul fatto che dei sani ripulisti o, più in generale, le ottimizzazioni delle funzioni già presenti siano qualcosa di utile e necessario, ma siamo sicuri che sia una buona mettersi a definire la sesta major release quando la quinta non si è ancora completamente radicata?

Personalmente non solo conosco parecchie realtà in cui Php 4 viene preferito a Php 5, ma addirittura situazioni in cui estende la sua egemonia niente poco di meno che Php 3! Pensate che il primo meeting di coordinamento tra gli sviluppatori per Php 6 è avvenuto addirittura nel novembre 2005, quando la versione 5 era, su server condivisi in produzione, un’esclusiva di alcuni hoster!

Le esigenze cambiano quotidianamente e secondo me potevano quindi aspettare a delineare con tanta precisione i major update da applicare: va bene l’Unicode, i namespace e la nuova Cache, ma che senso ha togliere la safe_mode e le magic_quotes? Io non utilizzo nè l’una nè l’altra, ma è giusto che sia lo sviluppatore, consapevole degli eventuali rischi, a decidere se utilizzarle o no, non il team di Php.

A me personalmente, invece che modifiche di forma tipo $HTTP_COOKIE_VARS -> $_COOKIE, sarebbero più utili, integrati nella core distribution, una classe per produrre facilmente contenuti semantici, un sistema semplificato per rispondere a richieste da un’interfaccia AJAX e soprattutto una migliore gestione degli errori.___

La lezione di Oilproject che ti suggeriamo oggi è Il Cimitero di Praga. Il Risorgimento come complotto.