真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP7.4新增了哪些特性

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

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

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

  2. SQLite3支持線上備份

  3. OpenSSL版本支持TLS1.3

  4. 短閉包的支持

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

  6. 自定義序列化

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

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

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

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

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

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

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

2、類型化屬性的支持
 

在下一個(gè)版本引入類型化屬性可能被視為 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ā)者嘗試從類型中分配一個(gè)不相關(guān)的值,例如,聲明 name 變量為字符串類型,他或她就會(huì)接收到 TypeError 的報(bào)錯(cuò)。像箭頭函數(shù)一樣,類型化屬性也能讓 PHP 工程師寫出更簡(jiǎn)短和清晰的代碼。

 

3、弱引用
 

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

 

$obj = new stdClass;
 

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

var_dump($weakref->get());
 

unset($obj);
 

var_dump($weakref->get());
 

>
 

另外,請(qǐng)注意,你無法序列化弱引用。

 

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

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

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ā)過程將會(huì)更快,也節(jié)省了你的時(shí)間。
 

5、預(yù)加載
 

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

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

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

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

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

 

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

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

// 這等價(jià)于:
 

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

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

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

>

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

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

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

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

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

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


當(dāng)前題目:PHP7.4新增了哪些特性
本文鏈接:http://weahome.cn/article/igjdjc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部