php5和php6的區別

2021-09-08 16:26:55 字數 1793 閱讀 2564

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。

公升級PHP5的理由 PHP4和PHP5效能對比

php 4到今年年底php group將不再對其進行支援了,所以為了讓大家更有信心的轉移到php 5平台上,我特別做了這個測試,看看我們php 4.x 是否真的效能比我們的php 5.x要好捏,測試結果很明顯,那就是php 5.x 比php 4.x不論是物件導向還是面向過程,都要比php 4.x 要...

php6的新特性

更加好的unicode支援 namespace 名字空間,將更好的避免在函式及類之間的變數名衝突。令人激動的web 2.0特性 soap 簡單物件訪問協議 soap object access protocol soap 可以和現存的許多網際網路協議和格式結合使用,包括超文字傳輸協議 http 簡單...

php7與php5底層區別

php7之前的版本,直接將php 在語法解析階段生成zendvm指令,編譯器和執行器是耦合在一起的,所以如果語法規則或執行引擎有乙個變,則另外乙個也要跟著改變才可以。php7增加了抽象語法樹,首先將php 解析生成抽象語法樹,然後將抽象語法樹編譯為zendvm指令,將php的編譯器與執行器很好的隔離...