PHP 7.4 中發布了哪些新特性


2019 年 11 月 28 日,PHP 開發團隊宣布將立即提供 PHP 7.4.0,此版本標志着 PHP 7 系列的第四項功能更新。

PHP 7.4.0 進行了許多改進和新功能,比如:

  • 箭頭函數
  • 預加載
  • 類型屬性
  • FFI
  • 簡化 Null 合並運算符
  • ……

下面我們來具體看一下

箭頭函數

箭頭函數也稱之為短閉包,可實現更簡潔的單行書寫

以前這么寫

array_map(function (User $user) { 
    return $user->id; 
}, $users)

現在這么寫

 

array_map(fn(User $user) => $user->id, $users)

 

你可以在此處深入了解它們。

類型屬性

類中的類屬性可以提示類型

class A
{
    public string $name;
    
    public ?Foo $foo;
}

你可以在此處深入了解它們。

Null 合並運算符

不再需要這樣做:

$data['date'] = $data['date'] ?? new DateTime();

你可以這樣做:

$data['date'] ??= new DateTime();

數組擴展運算符

現在你可以在數組中使用展開運算符:

$arrayA = [1, 2, 3];

$arrayB = [4, 5];

$result = [0, ...$arrayA, ...$arrayB, 6 ,7];

// [0, 1, 2, 3, 4, 5, 6, 7]

FFI

外部函數接口,簡稱 FFI,允許從用戶區調用 C 代碼。這意味着 PHP 擴展可以用純 PHP 編寫並通過 composer 加載。

預加載

預加載是可以帶來一些顯著的性能改進。預加載允許服務器在啟動時於內存中加載 PHP 文件,並使它們持久化可用於所有后續請求(只要不停電)。

性能提升當然需要付出代價:如果預加載文件的源文件發生變化,則必須重啟服務。

你可以在此處深入了解它們。

自定義對象序列化

添加了兩個新的魔術方法:__serialize 和__unserialize

以上為部分更新內容僅供參考,詳情請查看 PHP 的 UPGRADINGChangeLog

 
原文鏈接: https://qq52o.me/2712.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM