1、物件屬性現在支援類型申明
<?php class User { public int $id; public string $name; } ?>
上列範例中將會強制轉換$id為integer類型,$name
為字串類型
推薦(免費):PHP7
#2、箭頭函數
現在箭頭函數會提供一個短語法用來定義那些在作用域內值申明不明確的函數
<?php $factor = 10; $nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]); // $nums = array(10, 20, 30, 40); ?>
3、有限返回類型協方差和參數類型協方差(谷歌翻譯的)
下列程式碼將會執行
<?php class A {} class B extends A {} class Producer { public function method(): A {} } class ChildProducer extends Producer { public function method(): B {} } ?>
僅當使用自動載入時,才提供完全差異支援。在單一檔案內,只能使用非循環類型引用,因為所有類別在被引用之前都必須可用
4、空合併指派運算子
<?php $array['key'] ??= computeDefault(); // is roughly equivalent to if (!isset($array['key'])) { $array['key'] = computeDefault(); } ?>
5、Unpacking inside arrays(Google翻譯是在陣列內部解包,看這不對,先用英文吧)
<?php $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; ?>
6、數值字元分隔符號
數字字元可以在數字之間包含底線。
<?php 6.674_083e-11; // float 299_792_458; // decimal 0xCAFE_F00D; // hexadecimal 0b0101_1111; // binary ?>
7、弱參考(Weak references)
弱參考允許程式設計人員保留對不能防止被銷毀的物件的參考(Weak references allow the programmer to retain a reference to an object that does not prevent the object from being destroyed.)
8、允許__toString()
的異常
現在可以透過__toString()
拋出異常,在先前的版本這會導致一個致命錯誤,字串轉換中現有的可導致致命錯誤已轉換為拋出異常。
剩下的擴充以後再看
以上是介紹php7.3到php7.4新特性的詳細內容。更多資訊請關注PHP中文網其他相關文章!