PHP8的一些新特性之聯合型別(Union Types 2.0)

24K大白羊發表於2021-01-09

PHP7 中在定義變數時可以同時設定變數的型別,這樣可以提升程式碼質量,減少因為型別不符導致的執行時錯誤,這也是強型別語言的特性,編譯時發現問題而不是執行時,結合編譯可以加快程式執行速度。

在 PHP8 中,對型別進行了重大升級,結合了 PHP 語言的靈活和強型別語言的有點,可以對變數的型別進行多重指定,不同型別使用 | 分隔符進行分隔,使用起來也是很舒服的。

// PHP8
class Number {
  public function __construct(
    private int|float $number
  ) {}
}
new Number('NaN'); // TypeError

詳細的使用注意事項可以在 RFC 中檢視。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章