日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

PHP7.4新特性

 硬核項目經理 2021-05-31

PHP7.4新特性

PHP7.4版本已經正式發(fā)布了,做為PHP7版本的最后一次大更新,這一次又為我們帶來了什么新特性呢?

屬性類型

PHP7.4中的類屬性終于可以為屬性指定變量類型了。一切都是為了JIT鋪墊。靜態(tài)固定類型的引入將讓PHP更加的工程化。

1class User {
2    public int $id;
3    public string $name;
4}

箭頭函數

好吧,上一個是向Java、C++看齊,這一個就是把JavaScript的又一強大特性搬了過來。箭頭函數不陌生吧,配合匿名函數簡直不要太香。

1$factor = 10;
2$nums = array_map(fn($n) => $n * $factor, [1234]);

空值合并賦值運算操作符

PHP7的??操作符這次也帶來了更新,這回直接可以進行合并賦值操作了。多行代碼或者原來用??寫得很長的代碼這回可以寫得更少了。

1$array['key'] ??= computeDefault();
2// is roughly equivalent to
3if (!isset($array['key'])) {
4    $array['key'] = computeDefault();
5}

數組元素解包

…操作符可以用在數組元素中了。

1$parts = ['apple''pear'];
2$fruits = ['banana''orange', ...$parts, 'watermelon'];
3// ['banana', 'orange', 'apple', 'pear', 'watermelon'];

數字文本可包含下劃線

16.674_083e-11// float
2299_792_458;   // decimal
30xCAFE_F00D;   // hexadecimal
40b0101_1111;   // binary

strip_tags()可以使用數組定義保留的標簽

1strip_tags($str, ['a''p']);
2// 原來要這么寫
3strip_tags($str, '<a><p>');

新增自定義對象序列化魔術方法

原來的__sleep()和__weakup()說實話真的太不形象了。睡著和起床了來表示序列化和反序列操作。這個…

不過總算是給掰回來了。PHP7.4新定義了__serialize()和__unserialize()方法。

1// Returns array containing all the necessary state of the object.
2public function __serialize(): array;
3
4// Restores the object state from the given data array.
5public function __unserialize(array $data): void;

其他

  • 弱引用:允許程序員保留對某個對象的引用,該對象不會阻止該對象被銷毀。

  • __toString中出現(xiàn)的錯誤從可恢復的錯誤轉換為錯誤異常,可被try/catch

  • 添加mb_str_split()函數

參考文檔:
https://www./manual/zh/migration74.new-features.php

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多