PHP最近的6個版本到底多了啥?

從5.3到如今的7.1,PHP經歷了幾個里程碑式的版本更新,本文爲你展現這些版本到底有何變化。php

本文來源於PHP官方文檔,這裏並不會展開,送給有心的小夥伴作研究清單。web

PHP 5.3

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

  • 添加了命名空間的支持.sql

  • 添加了靜態晚綁定支持.數組

  • 添加了跳標籤支持.閉包

  • 添加了原生的閉包(Lambda/匿名函數)支持.curl

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

  • 添加了 Nowdoc 語法支持, 相似於 Heredoc 語法, 可是包含單引號.函數

  • 使用 Heredoc 來初始化靜態變量和類屬性/常量變爲可能.this

  • 可以使用雙引號聲明 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

  • 整數除法函數 intdiv()

  • 會話選項

  • 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

有多少不會的?幹!!!

相關文章
相關標籤/搜索