首頁  >  文章  >  後端開發  >  從PHP5.3到PHP7.1發生了哪些變化

從PHP5.3到PHP7.1發生了哪些變化

巴扎黑
巴扎黑原創
2017-08-16 09:34:442600瀏覽


摘要:本文源自PHP官方文檔,這裡並不會展開,送給有心的小夥伴做研究清單。 PHP 5.3https://secure.php.net/manual...新增了命名空間的支援.新增了靜態晚綁定支援.新增了跳標籤支援.新增了原生的閉包(Lambda/匿名函數)支....

本文源自PHP官方文檔,這裡並不會展開,送給有心的小夥伴做研究清單。

PHP 5.3

https://secure.php.net/manual...

  • 新增了命名空間的支援.

  • 新增了靜態晚綁定支援.

  • 新增了跳標籤支援.

  • 新增了原生的閉包(Lambda/匿名函數)支援.

  • 新增了兩個魔術方法, __callStatic 和__invoke.

  • 新增了Nowdoc 語法支援, 類似Heredoc 語法, 但是包含單引號.

  • #使用Heredoc 來初始化靜態變數和類別屬性/常數變為可能.

  • #可使用雙引號宣告Heredoc, 補充了Nowdoc 語法.

  • 可在類別外部使用const 關鍵字宣告常數.

  • 三元運算運算子有了簡寫形式: ?:.

  • HTTP 串流包裹器將從200 到399 全部的狀態碼都視為成功。

  • 動態存取靜態方法變成可能.

  • ########################################新增了循環引用的垃圾回收器並且預設是開啟的.###
  • mail() 現在支援郵件發送日誌. (注意: 僅支援透過該函數發送的郵件.)

PHP 5.4

https://secure.php.net/manual...

  • 新增支援traits 。

  • 新增短數組語法,例如$a = [1, 2, 3, 4]; 或$a = ['one' => 1, 'two' => ; 2, 'three' => 3, 'four' => 4]; 。

  • 新增支援對函數傳回陣列的成員存取解析,例如 foo()[0] 。

  • 現在 閉包 支援 $this 。

  • 現在不管是否設定 short_open_tag php.ini 選項,

  • 新增在實例化時存取類別成員,例如: (new Foo)->bar() 。

  • 現在支援 Class::{expr}() 語法。

  • 新增二進位直接量,例如:0b001001101 。

  • 改進解析錯誤訊息和不相容參數的警告。

  • SESSION 擴充現在能追蹤檔案的 上傳進度 。

  • 內建用於開發的 CLI 模式的 web server 。

PHP5.5

https://secure.php.net/manual...

  • 新增Generators

  • 新增finally 關鍵字

  • foreach 現在支援list()

  • empty() 支援任意表達式

  • array and string literal dereferencing ¶

  • 新的密碼雜湊API

  • 改進GD

PHP5.6

https://secure.php.net/manual...

  • 使用表達式定義常數

  • 使用... 運算子定義變長參數函數

  • 使用... 運算子進行參數展開

  • 使用** 進行冪運算

  • #use function 以及use const

  • ##phpdbg

  • 預設字元編碼

  • #php://input 是可重複使用的了

  • 大檔案上傳(現在可以支援大於2GB 的檔案上傳)

  • GMP 支援運算子重載

  • 使用hash_equals()比較字串避免時序攻擊

  • __debugInfo()

  • #gost-crypto 雜湊演算法

  • #SSL/TLS 提升

  • pgsql 非同步支援

PHP7.0

https://secure.php.net /manual...

  • 標量類型宣告

  • #傳回值類型宣告

  • null合併運算子

  • 太空船運算子(組合比較子)

  • #透過define() 定義常數數組

  • 匿名類別

  • Unicode codepoint 轉譯語法

  • Closure::call()

  • 為unserialize()提供過濾

  • IntlChar

  • 預期

  • #Group use declarations

  • #產生器可以傳回運算式

  • Generator delegation

  • 整數除法函數intp()

  • 會話選項

  • preg_replace_callback_array()

#CSPRNG Functions

    可以使用list() 函數來展開實作了ArrayAccess 介面的物件
  • 其他特性
  • PHP7.1
  • https://secure.php.net/manual...

  • #可為空(Nullable)型別

  • Void 函數

  • Symmetric array destructuring

  • 類別常數可見性

  • # iterable 偽類別

  • 多重異常捕獲處理

  • list()現在支援鍵名

  • 支援為負的字串偏移量

  • ext/openssl 支援AEAD

###透過Closure::fromCallable() 將callables轉為閉套件############非同步訊號處理############HTTP/2 server push support in ext/curl##########

以上是從PHP5.3到PHP7.1發生了哪些變化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn