首頁 > 頭條 > PHP 7.4.0剛剛發布!一起看看有哪些新特性

PHP 7.4.0剛剛發布!一起看看有哪些新特性

藏色散人
發布: 2019-12-07 18:02:21
轉載
5393 人瀏覽過

PHP 7.4.0 發布了,此版本標誌著 PHP 7 系列的第四次特性更新。

PHP 7.4.0 進行了許多改進,並帶來了一些新特性,包括:

##1.Typed Properties類型屬性

類別屬性現在支援類型聲明,以下範例將強制$User-> id 只能指派int 值,而$User-> name 只能指派string 值。

<?php
class User {
    public int $id;
    public string $name;
}
?>
登入後複製

2.Arrow Functions#  箭頭函數

箭頭函數提供了用於定義具有隱含按值作用域綁定的函數的簡寫語法。

<?php
$factor = 10;
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);
?>
登入後複製

將閉包傳遞給 array_map 或 array_filter 等函數時,它可以發揮極大的作用。

// A collection of Post objects $posts = [/* … */];
$ids = array_map(fn($post) => $post->id, $posts);
登入後複製

3.Limited Return Type Covariance and Argument Type Contravariance  有限回傳類型協變與參數類型逆變

#僅當使用自動加載時,才提供完全協變/逆變支援。在單一檔案中,只能使用非循環類型引用,因為所有類別在被引用之前都必須可用。

<?php
class A {}
class B extends A {}
class Producer {
    public function method(): A {}
}
class ChildProducer extends Producer {
    public function method(): B {}
}
?>
登入後複製

4.Unpacking Inside Arrays  打包內部陣列

<?php
$parts = [&#39;apple&#39;, &#39;pear&#39;];
$fruits = [&#39;banana&#39;, &#39;orange&#39;, ...$parts, &#39;watermelon&#39;];
// [&#39;banana&#39;, &#39;orange&#39;, &#39;apple&#39;, &#39;pear&#39;, &#39;watermelon&#39;];
?>
登入後複製

#5.Numeric Literal Separator  數值文字分隔符號

數字文字可以在數字之間包含底線。

<?php
6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
?>
登入後複製

6.Weak References  弱引用

弱引用使程式設計師可以保留對物件的引用,不會阻止物件被銷毀。

7.Allow Exceptions from __toString()  允許從__toString() 拋出例外

#現在允許從__toString() 引發異常,以往這會導致致命錯誤,字串轉換中現有的可恢復致命錯誤已轉換為Error 異常。

8.Opcache Preloading  Opcache 預先載入

新增 Opcache 預先載入支援。

此外還有一些棄用,以及從核心中刪除一些擴展,詳情查看:

#https://www.php.net

https: //www.php.net/manual/zh/migration74.new-features.php

##########################################################################################################################
相關標籤:
php
來源:oschina.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板