日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

PHP 8新特性簡介

瀏覽:223日期:2022-09-09 11:49:47

PHP 8新特性

新的主要PHP版本PHP 8預計將于2020年底發布。它現在處于非常活躍的開發階段,所以在接下來的幾個月里,事情可能會發生很大的變化。

在這篇文章中,我將持續更新預期的內容列表:新特性、性能改進和重大變化。因為PHP 8是一個新的主版本,所以您的代碼被破壞的幾率更高。如果你一直在更新最新的版本,升級應該不會太困難,因為大多數有破壞性的更改在7之前就已經廢棄了。*版本。

除了中斷更改之外,PHP 8還帶來了一些不錯的新特性,比如JIT編譯器和union類型;還有更多!

Union types:聯合類型

考慮到PHP的動態類型化特性,在很多情況下聯合類型是有用的。聯合類型是兩個或多個類型的集合,這些類型表示其中一個可以使用。

public function foo(Foo|Bar $input): int|float;

注意,void永遠不能是union類型的一部分,因為它表示“根本沒有返回值”。此外,可以使用|null來編寫可為空的聯合,也可以使用現有的?符號:

public function foo(Foo|null $foo): void;public function bar(?Bar $bar): void;

JIT

即時編譯器承諾顯著的性能改進,盡管并不總是在web請求的上下文中。目前還沒有任何準確的基準,但它們肯定會到來。

Static return type:靜態的返回類型

雖然已經可以返回self,但靜態類型直到PHP 8才成為有效的返回類型。考慮到PHP的動態類型特性,這一特性對許多開發人員都很有用。

class Foo{ public function test(): static { return new static(); }}

Weak maps

在PHP 7.4中添加的weakrefs RFC的基礎上,在PHP 8中添加了WeakMap實現。弱映射包含對對象的引用,這并不會阻止那些對象被垃圾收集。

以orm為例,它們通常實現保存對實體類的引用的緩存,以改進實體之間關系的性能。這些實體對象不能被垃圾回收,只要這個緩存有一個對它們的引用,即使緩存是唯一引用它們的東西。

如果這個緩存層使用弱引用和映射,那么PHP將在沒有其他對象引用它們時對這些對象進行垃圾收集。尤其是orm,它可以在一個請求中管理數百個(如果不是數千個)實體;弱映射為處理這些對象提供了一種更好的、對資源更友好的方法。

下面是弱映射的樣子,一個來自RFC的例子:

class Foo { private WeakMap $cache; public function getSomethingWithCaching(object $obj): object { return $this->cache[$obj] ??= $this->computeSomethingExpensive($obj); }}

::class on objects

一個小而有用的新特性:現在可以在對象上使用::class,而不必在對象上使用get_class()。它的工作方式與get_class()相同。

$foo = new Foo();var_dump($foo::class);

Stringable interface

Stringable接口可用于鍵入提示任何字符串或實現了 tostring()的內容。而且,無論何時類實現了 tostring(),它都會在后臺自動實現接口,不需要手動實現。

class Foo{ public function __toString(): string { return ’foo’; }}function bar(Stringable $stringable) { /* … */ }bar(new Foo());bar(’abc’);

從接口創建DateTime對象

您已經可以使用DateTime:: createfromimmutabledatetime ($immutableDateTime)從一個datetime對象創建一個DateTime對象,但是另一種方法比較麻煩。通過添加DateTime::createFromInterface()和datetime::createFromInterface(),現在就有了一種將DateTime和datetime對象相互轉換的通用方法。

DateTime::createFromInterface(DateTimeInterface $other);DateTimeImmutable::createFromInterface(DateTimeInterface $other);

重新定義引擎的警告

許多以前只觸發警告或通知的錯誤現在已經轉換為正確的錯誤。以下警告已更改。

Undefined variable: Error exception instead of notice Undefined array index: warning instead of notice Division by zero: DivisionByZeroError exception instead of warning Attempt to increment/decrement property ‘%s’ of non-object: Error exception instead of warning Attempt to modify property ‘%s’ of non-object: Error exception instead of warning Attempt to assign property ‘%s’ of non-object: Error exception instead of warning Creating default object from empty value: Error exception instead of warning Trying to get property ‘%s’ of non-object: warning instead of notice Undefined property: %s::$%s: warning instead of notice Cannot add element to the array as the next element is already occupied: Error exception instead of warning Cannot unset offset in a non-array variable: Error exception instead of warning Cannot use a scalar value as an array: Error exception instead of warning Only arrays and Traversables can be unpacked: TypeError exception instead of warning Invalid argument supplied for foreach(): TypeError exception instead of warning Illegal offset type: TypeError exception instead of warning Illegal offset type in isset or empty: TypeError exception instead of warning Illegal offset type in unset: TypeError exception instead of warning Array to string conversion: warning instead of notice Resource ID#%d used as offset, casting to integer (%d): warning instead of notice String offset cast occurred: warning instead of notice Uninitialized string offset: %d: warning instead of notice Cannot assign an empty string to a string offset: Error exception instead of warning

以上就是PHP 8新特性簡介的詳細內容,更多關于php 8新特性的資料請關注好吧啦網其它相關文章!

標簽: PHP
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久久免费av| 国产中文在线播放| 国产主播一区| 欧美精品日日操| 久久婷婷丁香| 亚洲激情中文| 久久国产精品99国产| 九色精品91| 91久久久精品国产| 亚洲一级网站| 在线视频免费在线观看一区二区| 欧美精品一区二区三区精品| 国产精品毛片在线| 亚洲图片久久| 日本久久二区| 欧美a一区二区| 国产成人精品亚洲线观看| 久久uomeier| 五月天久久网站| 蜜臀精品一区二区三区在线观看 | 精品一区二区三区中文字幕在线| 精品国产一区二区三区av片| 精精国产xxxx视频在线野外| 午夜精品一区二区三区国产| 中文字幕一区二区三区在线视频| 日韩av不卡一区二区| 国产精品sm| 久久久久99| 一区二区国产精品| 国产精品麻豆成人av电影艾秋| 成人午夜亚洲| 激情五月综合网| 日本精品久久| 桃色av一区二区| 亚洲美洲欧洲综合国产一区| 久久国产精品久久w女人spa| 国产亚洲一卡2卡3卡4卡新区| 国产成人精品亚洲线观看 | 五月激激激综合网色播| 欧美国产极品| 久久中文字幕二区| 视频国产精品| 福利视频一区| 免费美女久久99| 韩国一区二区三区视频| 妖精视频成人观看www| 欧美日韩一区二区三区不卡视频 | 欧美日韩第一| 青青国产精品| 亚洲va在线| 日韩精品免费观看视频| 在线看片福利| 中文字幕一区二区三区四区久久| 韩日一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产伦一区二区三区| 四虎884aa成人精品最新| 亚洲三级视频| 日韩国产一区二区三区| 日本成人在线视频网站| 日韩国产一区二区| 亚洲精品裸体| 欧美成a人免费观看久久| 日韩黄色免费网站| 久久国产中文字幕| 国产精品久久久久毛片大屁完整版| 久久中文视频| 久久精品二区亚洲w码| 石原莉奈在线亚洲二区| 日韩国产一区二区| 欧美精品国产一区| 亚洲欧洲午夜| 成人片免费看| 97精品久久| 亚洲在线国产日韩欧美| 精品久久中文| 婷婷视频一区二区三区| 亚洲午夜黄色| 欧美国产日韩电影| 亚洲女人av| av高清一区| 久久亚洲道色| 日韩精彩视频在线观看| 好吊一区二区三区| 国产亚洲一区二区手机在线观看| 国产美女撒尿一区二区| 综合国产视频| 亚洲在线观看| 狠狠色狠狠色综合日日tαg| 亚洲永久av| 免费精品一区| 日韩一区欧美二区| 国产综合视频| 成人羞羞在线观看网站| 美女视频黄免费的久久| 日韩av影院| 亚洲精品亚洲人成在线观看| 中文国产一区| 亚洲福利专区| 成人看片网站| 国产盗摄——sm在线视频| 国产精品99久久免费| 日韩不卡一区二区三区| 亚洲精品国产精品粉嫩| 国产精品日本欧美一区二区三区| 久久伦理在线| 在线手机中文字幕| 美女视频免费精品| 国产欧美大片| 欧美日一区二区在线观看| 亚洲精品黄色| 亚洲影院天堂中文av色| 一区二区三区网站| 久久午夜影视| 噜噜噜躁狠狠躁狠狠精品视频 | 国语对白精品一区二区| 久久久久97| 国产欧美高清| 国产精品丝袜在线播放| 91精品国产一区二区在线观看| 日本在线不卡视频| 亚洲精品成a人ⅴ香蕉片| 亚洲精品九九| 日韩二区三区四区| 91免费精品国偷自产在线在线| 亚洲欧洲日韩精品在线| 少妇高潮一区二区三区99| 午夜电影一区| 青青草伊人久久| 国产乱码精品一区二区亚洲| 欧美日韩一区二区高清| 欧美激情在线精品一区二区三区| 国产精品亚洲人成在99www| 国产欧美一区二区三区精品观看| 欧美日本一区| 麻豆国产欧美一区二区三区| 精品色999| 日韩黄色大片| 国产精品99免费看| 国产毛片久久| 亚洲视频国产精品| 日韩av一级片| 久久免费视频66| 日韩中文首页| 一区在线免费| 亚洲1区在线观看| 国产精品探花在线观看| 亚洲三级欧美| 日韩精品一卡| 亚洲综合丁香| 久久精品99国产精品| 久久久91麻豆精品国产一区| 日韩国产欧美| 手机精品视频在线观看| 91精品国产经典在线观看 | 国产精品啊v在线| 午夜影院一区| 免费精品视频最新在线| 国产视频一区二| 91亚洲精品在看在线观看高清| 国产精品久久久久久久久久白浆| 国产精品igao视频网网址不卡日韩| 国产伊人久久| 亚洲精品电影| 91亚洲精品在看在线观看高清| 国产成人免费| 女同性一区二区三区人了人一| 综合一区av| 久久久久亚洲精品中文字幕| 久久一区二区三区喷水| 日韩中文字幕| 国产一区2区在线观看| 亚洲少妇自拍| 国产精品一区三区在线观看| 日本国产精品| 亚洲tv在线| 精品一区91| 不卡中文字幕| 国产九九精品| 午夜久久99| 欧美国产精品| av不卡免费看| 久久精品国产精品亚洲毛片| 亚洲一区欧美二区| 免费亚洲一区| 午夜宅男久久久| 久久只有精品| 久久av一区| 成人在线免费观看网站| 久久亚洲图片| 日韩av专区| 欧美综合二区| 精品成av人一区二区三区 | 亚洲精品综合| 欧美成人基地| 国产精品久一| 丝袜亚洲精品中文字幕一区| 精品国产精品国产偷麻豆| 久久国产66| 日韩精品电影|