内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

PHP7.4新增了哪些特性

PHP7.4新增加了FFI擴(kuò)展功能,它可以讓我們通過php代碼,就可以直接訪問c語言函數(shù)和變量以及結(jié)構(gòu)體。

創(chuàng)新互聯(lián)公司專業(yè)網(wǎng)站制作、成都網(wǎng)站設(shè)計,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)布平臺等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

  1. GD庫擴(kuò)展新增加了TGA圖片的支持

  2. SQLite3支持線上備份

  3. OpenSSL版本支持TLS1.3

  4. 短閉包的支持

  5. 預(yù)加載的支持

  6. 自定義序列化

  7. 改進(jìn)類型差異

  8. 簡化Null合并運(yùn)算符

  9. 棄用短標(biāo)簽

  10. 數(shù)組支持展開運(yùn)算符

相信大家對此或多或少都已經(jīng)有所了解了。本文將為大家總結(jié)一下PHP7.4新增的十大特性,分別是支持從 __toString() 方法拋出異常;類型化屬性的支持;弱引用;箭頭函數(shù)的支持;預(yù)加載;新的自定義對象序列化機(jī)制;合并分配運(yùn)算符;數(shù)組表達(dá)式中的展開運(yùn)算符;為引用提供的反射以及協(xié)變量返回和協(xié)變量參數(shù)。下面我們一起來看看新特性的詳細(xì)總結(jié)。
  

1、支持從 __toString() 方法拋出異常
 

之前無法從 __toString 方法中拋出異常。原因是標(biāo)準(zhǔn)庫中的許多函數(shù)都執(zhí)行從對象到字符串的轉(zhuǎn)化,它們當(dāng)中并非所有的都準(zhǔn)備好正確的“處理”異常。作為該 RFC 的一部分,對代碼庫中的字符串轉(zhuǎn)換進(jìn)行了全面的審核,并取消了此限制。
 

2、類型化屬性的支持
 

在下一個版本引入類型化屬性可能被視為 PHP 最重要的特性更新之一。雖然之前不可能將聲明方法用于類變量和屬性(包括靜態(tài)屬性),但現(xiàn)在程序員能很輕松地進(jìn)行編碼,而無需創(chuàng)建特定的 getter 和 setter 方法。由于聲明類型(不包括 void 和 callable),你可以使用可為空(Nullable)類型,即 int、float、array、string、object、iterable、self、bool 和 parent。如果一位 web 開發(fā)者嘗試從類型中分配一個不相關(guān)的值,例如,聲明 name 變量為字符串類型,他或她就會接收到 TypeError 的報錯。像箭頭函數(shù)一樣,類型化屬性也能讓 PHP 工程師寫出更簡短和清晰的代碼。

 

3、弱引用
 

在 PHP 7.4 中,弱引用類(WeakReference class)允許 web 開發(fā)者們將鏈接保存到不阻止其銷毀的對象中。請勿將弱引用類和弱引用擴(kuò)展混淆。由于這些特性,它們更容易實現(xiàn)類似緩存的結(jié)構(gòu)。請參考使用此類的示例:
 

<php
 

$obj = new stdClass;
 

$weakref = WeakReference::create($obj);
 

var_dump($weakref->get());
 

unset($obj);
 

var_dump($weakref->get());
 

>
 

另外,請注意,你無法序列化弱引用。

 

4、箭頭函數(shù)的支持
 

由于匿名函數(shù)或閉包主要應(yīng)用于 JS 中,因此,他們在 PHP 中似乎很啰嗦,他們的實現(xiàn)和程序的維護(hù)也會更復(fù)雜一些。引入對箭頭函數(shù)的支持使得 PHP 開發(fā)者大大簡化他們的代碼并且使語法更加簡潔。這樣,你代碼的可讀性和簡潔性會大大提高??聪旅娴睦印R虼?,如果是以前的話,你必須按以下代碼塊寫:

function cube($n){
 

return ($n * $n * $n);
 

}
 

$a = [1, 2, 3, 4, 5];
 

$b = array_map('cube', $a);
 

print_r($b);
 

$parts = ['apple', 'pear'];
 

$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
 

var_dump($fruits);
 

同樣,它也有可能展開同一數(shù)組多次。此外,由于可以在擴(kuò)展運(yùn)算符的前后添加普通元素,因此 PHP 開發(fā)人員將能夠在數(shù)組中使用其語法。
 

在 PHP 7.4 發(fā)布后,你就可以按如下的方法寫:
 

$a = [1, 2, 3, 4, 5];
 

$b = array_map(fn($n) => $n * $n * $n, $a);
 

print_r($b);
 

由于擁有了創(chuàng)建整齊、更短代碼的能力。web 開發(fā)過程將會更快,也節(jié)省了你的時間。
 

5、預(yù)加載
 

這個很酷新特性的主要目的是提升 PHP 7.4 的性能。簡而言之,預(yù)加載是在 OPcache[10] 中加載文件、框架和庫的過程,絕對是新版本的最佳補(bǔ)充。例如,如果你使用框架,則必須為每個請求下載并重新編譯其文件。在配置 OPcache 的時候,這些代碼文件首次參與請求處理,然后每次都檢查它們的更改。預(yù)加載使服務(wù)器可以將指定的代碼文件加載到共享內(nèi)存中。請務(wù)必注意,它們將始終可用于后續(xù)所有的請求,而無需檢查其他文件的改變。還值得一提的是,在預(yù)加載期間,PHP 還消除了不必要的包含,并解決了類依賴以及具有 Traits 和 Interfaces 等的鏈接。
 

6、新的自定義對象序列化機(jī)制
 

在 PHP 新的版本中,有兩種新的可用方法 serialize 和 unserialize。將 Serializable 接口的多功能性與實現(xiàn) sleep 和 wakeup 方法結(jié)合起來,這種序列化機(jī)制使得 PHP 開發(fā)者可以避免與已存在的方法產(chǎn)生一些自定義的問題。發(fā)現(xiàn)有關(guān) PHP 特性的更多信息。
 

7、合并分配運(yùn)算符
 

合并運(yùn)算符是 PHP 7.4 提供的另一個新功能。當(dāng)你需要將三元運(yùn)算符和 isset 方法一起使用時非常有用。如果它存在且不為空,那么就會返回第一個操作數(shù),否則就會返回第二個操作數(shù)。這就是個例子:
 

<php
 

// 獲取 $_GET['user'] 的值,如果它不存在則返回 nobody
 

$username = $_GET['user'] ?? 'nobody';
 

// 這等價于:
 

$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
 

// 鏈?zhǔn)胶喜ⅲ簩⒎祷?$_GET['user']、$_POST['user'] 以及 noboody 中第一個不為 NULL 的值
 

$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
 

>

8、數(shù)組表達(dá)式中的展開運(yùn)算符
 

與 array_merge 相比,在 PHP 7.4 中,工程師們能在數(shù)組中使用展開運(yùn)算符。有兩個主要原因,首先,展開運(yùn)算符被認(rèn)為是一種語言結(jié)構(gòu),而 array_merge 是一個函數(shù),其次是針對常量數(shù)組&ldquo;編譯時&rdquo;的優(yōu)化。因此 PHP 7.4 的性能將會提升。
 
 9、為引用提供的反射
 

類似于 symfony/var-dumper 之類的庫,嚴(yán)重依賴 Reflection API 來準(zhǔn)確羅列變量。原來,對于引用反射沒有很好的支持,這迫使這些庫只能依靠 hack 的方式來檢測引用。在 PHP 7.4 中添加了 ReflectionReference 類來解決此問題。
 

10、協(xié)變量返回和協(xié)變量參數(shù)
 

目前,PHP 中大多數(shù)是不變的參數(shù)類型和不變的返回類型,這帶來了一些約束。隨著協(xié)變量(類型從更具體到更通用)返回和協(xié)變量(類型從更通用到更具體)參數(shù)的引入,PHP 開發(fā)者們將能夠?qū)?shù)類型更改為超類型之一。
 

雖然php7.4的性能提升相對來說很小,但是可以看出,在功能增加的情況下,性能依然在穩(wěn)步提升。這些性能的提升,讓我們很期待,也很堅信php8將會有更好的未來。

標(biāo)題名稱:PHP7.4新增了哪些特性
分享地址:http://m.rwnh.cn/article22/igjdjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、自適應(yīng)網(wǎng)站、網(wǎng)站改版響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
泗水县| 明星| 长兴县| 分宜县| 沂源县| 偏关县| 启东市| 蛟河市| 邵东县| 望谟县| 鄂托克前旗| 连州市| 保德县| 尖扎县| 佛山市| 成武县| 灵武市| 沭阳县| 若尔盖县| 嘉峪关市| 资源县| 沂水县| 阳西县| 北京市| 施秉县| 玛多县| 牡丹江市| 裕民县| 呼和浩特市| 灯塔市| 当涂县| 将乐县| 广德县| 鄂伦春自治旗| 宝丰县| 武义县| 牙克石市| 峨山| 铜鼓县| 盐池县| 合江县|