程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 6與PHP 5相比的那些變化與改進

PHP 6與PHP 5相比的那些變化與改進

編輯:關於PHP編程

PHP 6 出了好些年了,雖然現在普遍用的還是 PHP 5,但是畢竟PHP 6還是未來的趨勢。那麼PHP 6對於 PHP 5來說,有什麼變化,有哪些地方改進了呢?

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開發小組將會努力的完善PHP 6,超越PHP 5。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved