PHP 7+ 版本引入 Zend Engine 3.0,WordPress 基準測試顯示效能較 PHP 5.6 提升高達 3 倍,並大幅降低記憶體佔用。以下為核心新特性彙總:
| # | 特性 | 說明 |
|---|---|---|
| 1 | 標量類型與返回值類型聲明 | 支援 int、float、string、bool 類型提示 |
| 2 | NULL 合並運算符 ?? | $a = $b ?? 'default'; 簡化 isset() 判斷 |
| 3 | 太空船運算符 <=> | 綜合比較:小於返回 -1,相等 0,大於 1 |
| 4 | 常量數組 | define('ARR', [1,2,3]); 定義陣列常量 |
| 5 | 匿名類 | new class { ... } 即時建立一次性物件 |
| 6 | Closure::call() | 動態綁定閉包作用域 |
| 7 | 過濾 unserialize() | 防止不安全反序列化,可指定允許類 |
| 8 | IntlChar 類 | Unicode 字符操作工具集 |
| 9 | CSPRNG | 加密安全隨機數生成器 random_bytes()、random_int() |
| 10 | 異常層級重構 | Throwable 介面統一 Error 與 Exception |
| 11 | use 語句分組 | use A\{B, C, D}; 簡化導入 |
| 12 | 錯誤處理機制 | 可捕捉致命錯誤為 Error 異常 |
| 13 | intdiv() 整除函數 | 整數除法直接取商 |
| 14 | Session 選項 | session_start(['read_and_close' => true]) |
| 15 | 廢棄特性 | 如 PHP 4 風格建構子、靜態調用非靜態方法等 |
| 16 | 移除擴展 | mysql、ereg 等舊擴展 |
| 17 | 移除 SAPI | 如 aolserver、apache 等 |
升級建議:優先測試廢棄特性影響,善用類型聲明提升代碼健壯性,利用 ?? 和 <=> 簡化邏輯判斷。