1. 程式人生 > >PHP6測試版釋出

PHP6測試版釋出

去年在巴黎舉行的PHP開發者大會中,PHP6開發的訊息開始流傳開來,
於PHP大會討論的PHP6,將有很大幅度的變化,但這只是草案階段,
並不代表所有會議的機率都會隨著PHP6的釋出而包含記錄中所有的變更
也就是說,在釋出PHP6之前,還是會有異動的情形,但是可以確定的是
下面所列的數項變化,將會隨著PHP6一同面世(當然不是百分百樂,)
趕快來看看這些新特性吧

1.支援Unicode
支援Unicode是有其必然,雖然Unicode佔用較多的空間,但Unicode帶來
的便利性,遠超過佔用空間的缺點,尤其在國際化的今天,硬體裝置越來
越強大,網速也大幅度的提升,這麼一點小小的缺點是可以忽略的。另外
一點,PHP也可以在.ini檔案中設定是否開啟支援Unicode,決定權在你自己,
這是一個不錯的點子,關掉Unicode的支援,PHP的效能並不會有大幅度的
提升,主要的影響在於需要引用字串的函式。

2.Register Globals 將被移除
這是一個重要的決定,說多新進的PHP開發者會覺得Register Globals滿
方便的,但是卻忽略了Register Globals會帶來程式上安全性的隱患,大
多數的主機上此項功能是關閉的,印象中從PHP4.3.x版開始時,此項預設
設定值即是關閉狀態,PHP6正式移除Register Globals也代表著如果程式
是由PHP3時代的產物,將完全無法使用,除了改寫一途外,別無他法。相
信現在的PHP世界裡,仍使用PHP3時代所產生的程式應該是少之又少。

3.Magic Quotes 將消失
Magic Quotes主要是自動轉義需要轉義的字元,此項功能移除葉符合大多
數PHP開發者的心聲。

4.Safe Mode 取消
老實說,這個模式不知道哪裡不好,取消就取消吧,反正也用不到

5.’var’ 別名為 ‘public’
在類中的var宣告變成public的別名,相信是為了相容PHP5而作的決定,
PHP6現在也可以稱作為OO語言了。

6.通過引用返回將出錯
現在透過引用返回編譯器將會報錯 例如$a =& new b()、function &c(),
OO語言預設就是引用,所以不需要再使用&了。

7.zend.ze1 compatbility mode 將被移去
Zend.ze1相容模式將被移去,PHP5是為相容舊有PHP4,所以在.ini中可選擇是否
開啟相容模式,原因在於PHP5使用的是第二代解析引擎,但是相容模式並不是百
分之百能解析PHP4語法,所以舊時代的產物,移除。

8.Freetype 1 and GD 1 support 將不見
這兩個是很久的Libs,所以不再支援,GD1早已被現在的GD2取代了。

9.dl() 被移到 SAPI 中
dl()主要是讓設計師載入extension Libs,現在被移到 SAPI 中

10.Register Long Array 去除
從PHP5起預設是關閉,再PHP6中正式移除。

11.一些Extension的變更
例如 XMLReader 和 XMLWriter 將不再是以Extension的方式出現,他們將被移入
到PHP的核心之中,並且預設是開啟,ereg extension將被放入PECL,代表著它將
被移出PHP核心,這也是為了讓路給新的正則表示式extension,
此外,Fileinfo extension 也將被匯入PHP的核心之中。

12.APC將被匯入核心
這是一個提高PHP效能的功能,現在它將被放入PHP核心中,並且可以選擇是否啟用APC

13.告別ASP風格的起始標籤
原來是為了取悅ASP開發者轉向使用PHP,現今已經不再需要這種做法了,

最後,別期望PHP6的效能可以全面超過PHP5,有可能的是PHP6的執行效率會比
PHP5還要來的慢的,但是可以預期的是,PHP開發小組將會努力的完善PHP5,超
越PHP5。
那麼,對PHP6有興趣的朋友現在可以到PHP官方網站上下載,試試這些功能是否真的已經
在PHP6中體現出來了,下載地址http://snaps.php.net/