La sesta versione di PHP
Giovedì 19 Gennaio 2006 - 10:20
di Gabriele Farina

Come già accennato in qualche altro post, la sesta versione di PHP è ormai in sviluppo da qualche tempo (si presuppone il rilascio di una versione beta nell’anno corrente). Per chi fosse interessato a seguirne l’avanzamento, è possibile scaricare uno snapshot giornaliero dei sorgenti e delle estensioni dal sito snaps.php.net.
Per quanto riguarda le novità ho trovato un documento molto interessante che riassume il contenuto di un meeting tenutosi a Parigi l’11 ed il 22 Novembre; tra le novità elencate di sicuro interesse è il supporto per Unicode, che segna un importatissimo passo avanti nell’evoluzione del linguaggio PHP verso una soluzione enterprise. Nello specifico PHP supporterà la versione UTF-16 di Unicode, e si baserà sull’utilizzo della nota e testata libreria ICU. Sia le stringhe che gli stessi dati in input/output verranno trattati usando la codifica Unicode in modo trasparente (inizialmente non sarà supportato l’header BOM ed altre feature di Unicode), verranno esposte alcune direttive di configurazione per controllare la codifica di un documento e verranno esposte alcune funzioni proprie delle API della libreria ICU. Che dire … era ora :)
Tra le altre aggiunte ritengo interessante evidenziare:
- il supporto per gli interi a 64 bit;
- l’aggiunta dell’istruzione goto (che ritengo uno strumento molto potente che purtroppo rischia di diventare una macchina per creare codice ingestibile in mano a programmatori inesperti);
- La possibilità di utilizzare parametri multipli per l’operatore [] al fine di semplificare operazioni di array_slice o substring (ex: se a $string viene assegnato “ciao”, $string[1,3] restituirà “iao”);
- il supporto per i namespaces;
Le novità sono veramente molte … date un’occhiata al documento. A mio parere ne vedremo delle belle!
Categoria: PHP e Open Source | Permalink
Commenti
1
Non sono un espertone, ma che motivo c’è di sviluppare una versione 6 quano ancora la maggior parte degli host non offrono nemmeno la versione 5?
2
Oltre al fatto che la 5 ha ancora molti problemi… è anch eper questo che molti non usano ancora la 5…
# - postato da Andrea Paiola - 19 Gennaio 2006 - 11:49
3
Speriamo che nella 6 risolvano i problemi della 5 invece che aumentarli.
# - postato da carlo2002 - 19 Gennaio 2006 - 12:00
4
credo che “abbandonando” la retrocompatibilità ci sarà solo da guadagnare … sperando sia finalmente una versione più robusta e soprattutto più veloce.
Molto interessante APC distribuito di default (era ora) come molto interessante il discorso stringhe, ifsetor, foreach su list e gli altri accorgimenti proposti, speriamo non tardino con il rilascio e per gli host con il supporto.
Unica nota degna di delusione (personale), nessun accenno allo strict type di primitive :-(
5
Ma non si può uno comincia (io) ora a studiare php5 (comprando anche un libro da 70 ) e poi viene a sapere che sta per uscire una nuova versione di php -.-
# - postato da Cesar - 19 Gennaio 2006 - 13:40
6
Mah… io faccio che saltare a piè pari PHP 5 :D
# - postato da Andrea Paiola - 19 Gennaio 2006 - 14:14
7
spero che abbandonino il motore zend invece
per passare al parrot e poter dare un motore univoco di base … oppure passino a mono fornendo una flessibilità praticamente illimitata a chi programma in php
# - postato da daniele_dll - 19 Gennaio 2006 - 14:40
8
daniele concordo con te … considera però che Zend è, ultimamente, in rapporti molto stretti con la IBM … e in previsione del bastardo TCPA, questa situazione potrebbe essere forse un arpiglio per non far sparire PHP dalle piattaforme non OS, nonchè una possibile svolta per Zend stessa ( visto mai migliorassero il motore, quelli della IBM :-P )
9
Ma gli esperti quindi considerano PHP5 poco robusto?
nel v6 cosa farà il “goto”? Finalmente l’unicode!… Dove trovo più info sulle novità?
10
In un linguaggio quasi totalmente dedicato al web avrei visto molto meglio UTF-8 che UTF-16… ci saranno (voglio sperare) le funzioni di conversione tra le due codifiche, anche se è lavoro in più…
Forse nella scelta ha pesato molto IBM, visto che anche JAVA usa UTF-16 nativamente.
11
Sxid X da quanto ho capito UTF-16 è “solo” il charset di default, modificabile da php.ini o forse in ini_set per scegliere latin1 o magari anche utf-8 ? staremo a vedere.
@mdsjack:
Ma gli esperti quindi considerano PHP5 poco robusto?
non è ancora ritenuto abbastanza maturo e stabile da poter stare sugli hosts senza causare problematiche e molto è dato, secondo me, dal voler a tutti i costi mantenere una retrocompatibilità col 4 per aiutare gli sviluppatori a migrare (è scritto anche nella pagina segnalata per php6) … personalmente “farei usare” il 5.1.2 solo ad utenti esperti, mentre il 4 può ancora andar bene per tutte le esigenze più generiche, imho.
12
andrea, io ho capito che utf-16 è il formato nativo delle stringhe, quello che verrà usato internamente, ma non mi sono informato nel dettaglio, quindi può essere benissimo che mi sbagli.
Io uso solo PHP5 da un po’ di tempo, e mi trovo molto bene.
13
andrea, io ho capito che utf-16 è il formato nativo delle stringhe
modificabile, come ho già detto, dal php.ini o da ini_set.http://www.php.net/~derick/mee.....-off-modes
è il primo punto :E … dagli una letta a quella pagina che secondo me ci sono tematiche / problematiche interessanti anche per le versioni attuali (e sono interessanti anche le risposte in merito).
14
Attenzione che stai confondendo, là si parla di semantica (cioè nomi di classi, metodi, variabili, etc. etc.), non del salvataggio delle stringhe come avviene internamente.
Tra l’altro parlare di Unicode nulla dice di quale sia poi la codifica utilizzata.
E a suggerire quello che ho capito io dovrebbe lessere questo punto:For PDO we need to have some way where the drivers send back UTF-16 if we are in unicode mode. If the driver does not support it, then PDO needs to up convert based on what the driver communicates.
Comunque avevo un PDF su ICU, se lo ritrovo chiarisco questo dubbio.
15
uhm … hai ragione … sotto però parla di tipo stringa e binary … piuttosto che stringa / binary e unicode … però effettivamente non ho capito nemmeno io se si parla di UTF-8 o 16 poichè sotto ancora parla di UTF-8 convertito in binary se trovato sul nome file … boh :E
16
Scusate, non sono un esperto…
Ma a quanto ho capito il TCPA sta diventando una realtà e presto sarà concreto, e da quanto ho capito Apache insieme all’opensource dovrebbe sparire…
http://www.apogeonline.com/web.....0207020102# - postato da Io - 19 Gennaio 2006 - 18:03
17
Sì, è come mi ricordavo:
How is a Unicode string represented in ICU?
A Unicode string is currently represented as UTF-16 by default. The endianess of UTF-16 is platform dependent. You can guarantee the endianess of UTF-16 by using a converter. UTF-16 strings can be converted to other Unicode forms by using a converter or with the UTF conversion macros.Probabilmente potrà essere settato in automatico un charset di output diverso da UTF-16.
UTF-16 è più veloce da gestire nelle operazioni interne, ma convertire ogni volta in ingresso e uscita da UTF-8 (che sul web è largamente più usato) non so quanto convenga, resta quindi la mia perplessità… in ogni modo il supporto a unicode era indispensabile, ben venga.
18
vuoi vedere invece che php diventera’ amico di ibm e addio php?
:D# - postato da yqy - 01 Marzo 2006 - 21:16







