Newsgroup: it.comp.www.php
Titolo: Php 6

Ragazzi, ma com'ï¿œ che non esiste ancora e ci sono giï¿œ i libri?
Non ho mica capito, ed ï¿œ tanto che sono usciti...

 mica capito, ed è tanto che sono usciti...
Perche` dalla roadmap sembrava dovesse uscire l'anno scorso, ma poi per 
vari motivi (principalmente le difficolta` a infilarci dentro UTF8 senza 
stravolgere la compatibilita`), si e` deciso per una release intermedia 
(5.3) che introducesse alcune delle funzionalita` di PHP6 senza 
stravolgere tutto, e preparando il terreno per la 6.
I libri sono usciti "sulla fiducia", e infatti per la gran parte parlano 
delle feature di PHP 5.3.
Si iniziano a vedere ora i primi hosting che adottano PHP 5.3 (io 
personalmente non l'ho ancora messo sui miei server), quindi presumo che 
PHP6 non uscira` prima del 2011, se non in beta/RC.
Bye.

 stravolgere tutto, e preparando il terreno per la 6.
cosa vuol dire infilarci dentro UTF8?
grazie
-- 
give it away

 cosa vuol dire infilarci dentro UTF8?
Vuol dire che attualmente tutte le funzioni di elaborazione delle 
stringhe di PHP presumono che la stringa sia in ISO-8859-1 (alias Latin1).
Con PHP6, teoricamente perche` ci stanno ancora lavorando, non servira` 
piu` usare mb_strlen() per sapere la lunghezza di una stringa UTF8, ma 
bastera` il normale strlen()
Questo porta a incompatibilita`, perche` in PHP5, strlen("perché") 
ritorna 7, mentre in PHP6 ritorna 6, se usi un editor UTF8 (ormai lo sono 
quasi tutti).
Ma e` solo la punta dell'iceberg. Vanno cambiati anche i metodi di 
default di connessione ai DB, le funzioni di encoding e decoding delle 
stringhe verso altri charset, probabilmente anche le funzioni di 
localizzazione (per via dei simboli di valuta, delle virgolette, ecc.) 
ecc. ecc.
E` probabile che PHP6 sara` la versione con meno backward compatibility 
di sempre. :)
Bye.

 Latin1).
E quelle che ritornano una stringa tipo realpath(), number_format() che 
codifica utilizzano ?
Ciao.
-- 
*** Linux user # 198661 ---_ ICQ 33500725 ***
    ***  Home  
http://www.kailed.net
  ***
        ***  Powered by openSUSE  ***

 codifica utilizzano ?
Onestamente non lo so.
A intuito credo che la realpath() torni esattamente quello che c'e` nel 
filesystem, quindi se e` utf8 lo torna in utf8, se e` win1252 lo torna in 
win1252.
number_format() torna numeri e caratteri ASCII (punto e virgola), quindi 
la codifica e` esattamente la stessa in tutti i charset (tranne forse il 
KOI8 e i vari *JIS). Se gli specifichi caratteri non ASCII come 
separatori, usa esattamente quelli che gli metti, con la codifica che usi.
Bye.

grazie per la spiegazione.
una domanda mi sorge spontanea:
ma possibile che non ci siano arrivati alla versione 1 che forse era il caso 
di passare a utf-8?
mi pare proprio grottesco.
ma forse ai tempi utf-8 era considerato esotico, non so proprio.
ciao
-- 
give it away

 caso di passare a utf-8?
La versione 1 di PHP era una serie di script in Perl, cosi` come la 2.
Solo dalla 3 e` diventato un modulo di apache scritto in C. E lo standard 
del C (e di Linux) all'epoca era il Latin1. E ringraziamo che non sia 
nato su piattaforma Microsoft, altrimenti avremmo la IBM850. :P
Anche lo standard delle pagine web fino a 2 anni fa era Latin1, e PHP si 
e` sempre adeguato piu` all'uso comune che alle ultime novita` degli 
ambienti universitari.
Ancora oggi un buon 20-30% di pagine web NASCE come Latin1, purtroppo (e 
sto parlando anche di grosse aziende e su piattaforma .Net, ma non vi 
posso dire il nome :P)
A me sarebbe piaciuto di piu` avere gia` PHP5 in utf8, ma gia` ha rotto 
pochissimo la compatibilita` (mettendo register_globals di default) e ci 
hanno messo 4 anni ad adottarlo tutti. Se fosse passato direttamente a 
utf8 probabilmente avrebbe rischiato l'estinzione (o il fork della 
versione 4 per trascinarla avanti negli anni)... :)
Bye.

buonissimi punti, grazie per la chiarezza.
a presto
-- 
give it away

 fork della versione 4 per trascinarla avanti negli anni)... :)
Questa non la capisco tanto, il supporto a utf8, potevano inserirlo 
opzionale, magari facilmente abilitabile.
Sarebbe stato un passaggio indolore o quasi, mentre con la 6, 
probabilmente ci saranno rogne..
mah..
