摘要:性能提升當然需要付出代價如果預加載文件的來源發生變化,則必須重新啟動服務器。應該指出,這是一個復雜的主題。默認情況下不啟用由于不再維護,核心團隊決定使用刪除其默認安裝。將在錯誤情況下拋出異常。請注意,強制轉換不受影響。
新特性
預加載
預加載是PHP核心的一個驚人的補充,可以帶來一些重大的性能改進。
簡而言之:如果您今天使用的是框架,則必須在每次請求時加載和重新編譯其文件。 預加載允許服務器在啟動時在內存中加載PHP文件,并使它們永久可用于所有后續請求。
性能提升當然需要付出代價:如果預加載文件的來源發生變化,則必須重新啟動服務器。
設置強類型
類變量類型可以提前聲明:
class A { public string $name; public Foo $foo; }
復制代碼更新07-01:截至目前,已合并類型屬性,因此已確認PHP 7.4。
改進類型差別
我過去曾寫過 PHP 的類型系統,所以很高興看到一些改進實際上是在 PHP 的核心。
類型差異是一個值得自己的博客文章的主題; 簡而言之:你將能夠使用協變返回類型......
class ParentType {} class ChildType extends ParentType {} class A { public function covariantReturnTypes(): ParentType { /* … */ } } class B extends A { public function covariantReturnTypes(): ChildType { /* … */ } } 復制代碼和回調參數 class A { public function contraVariantArguments(ChildType $type) { /* … */ } } class B extends A { public function contraVariantArguments(ParentType $type) { /* … */ } }
更新14-01:RFC目前處于投票階段,但看起來它會毫無問題地通過。
外部函數接口
外部函數接口,簡稱 FFI ,允許從用戶區調用 C代碼。 這意味著 PHP 擴展可以用純 PHP 編寫。
應該指出,這是一個復雜的主題。 您仍然需要 C 的知識才能正確使用此功能。
空融合分配運算符
而不是這樣做:
$data["date"] = $data["date"] ?? new DateTime();
復制代碼你可以這樣做:
$data["date"] ??= new DateTime();
復制代碼更新22-01:此功能現在在PHP 7.4中合并。
獲取更多利潤
從技術上講,這不是與 PHP 7.4 相關的更新,但它絕對值得一提。 RFC 的投票規則已經改變:它們總是需要 2/3 的多數才能通過。
反射引用
像 Symfony 的 var 轉儲程序這樣的庫很大程度上依賴于反射 AP I來可靠地轉儲變量。 以前,沒有對引用的適當反射支持,導致這些庫依賴 hack 來檢測引用。
PHP 7.4 添加了 ReflectionReference 類來解決這個問題。
更新02-14:RFC已通過,PHP 7.4已確認更改。
mb_str_split 的添加
此函數提供與 str_split 相同的功能,但在多字節字符串上。
ext-hash 始終啟用
正如標題所說,此擴展現在可在所有 PHP 版本中安裝永久使用。
PEAR 默認情況下不啟用
由于 PEAR 不再維護,核心團隊決定使用 PHP 7.4 刪除其默認安裝。
密碼哈希注冊表
對如何使用散列庫進行內部更改,以便用戶可以更輕松地使用它們。
棄用 ext/wwdx
此數據交換格式從未標準化,現在不推薦使用其擴展名。
不向后兼容的變化
升級 PHP 版本時,您應該始終查看完整的 UPGRADING 文檔。
以下是一些突出顯示的向后不兼容的更改:
在沒有父級的類中引用 parent :: 將生成編譯時錯誤而不是運行時錯誤。
在 DateTime 或 DateTimeImmutable 實例上調用var_dump 將不再在對象上留下可訪問的屬性。
openssl_random_pseudo_bytes 將在錯誤情況下拋出異常。
嘗試序列化 PDO 或 PDOStatement 實例將生成異常而不是 PDOException 。
在 ArrayObject 實例上調用 get_object_vars() 將返回 ArrayObject 本身的屬性,而不是包裝數組或對象的值。 請注意, (array) 強制轉換不受影響。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31050.html
摘要:目前,美國公司的安卓,已經正式全面推出有幾個多月了。安卓最新功能及變化根據的消息得出,將從系統底層支持引擎。對于需要經常進行國際出行的安卓手機用戶來說,這是一項非常方便的輔助撥號功能,省去手動添加國家地區代碼的繁雜步驟。 目前,美國?Google公司的?AndroidP?(安卓9.0),已經正式全面推出有幾個多月了。眾多手機品牌廠商也都在積極的進行更新適配?Android 9.0?系統...
摘要:更新啦第一課體驗第二課基礎類型和入門高級類型第三課泛型第四課解讀高級類型要來了看了的視頻特別興奮要來了是用開發的我揣測在的帶領下會成為主流呢要不先學點年最酷的前端技術我是年初開始使用的自從開始用上了就喜歡上了真的愛不釋手最愛他幾點很多小錯誤 更新啦 第一課, 體驗typescript 第二課, 基礎類型和入門高級類型 第三課, 泛型 第四課, 解讀高級類型 vue3要來了 看了vue ...
摘要:來了由秘猿科技與聯合主辦,亞洲第一屆大會將于月日在中國北京正式開啟。將是一次亞洲社區的大聚會,也因為此次大會,亞洲本土的社區連接到了全球其它地區的社區。未來,我們將推進到亞洲的其他國家,更好的促進當地社區與全球社區的合作和互助。 showImg(https://segmentfault.com/img/bVbqUjV?w=1089&h=647); RustCon Asia 來了!由秘猿...
閱讀 4620·2021-10-25 09:48
閱讀 3211·2021-09-07 09:59
閱讀 2167·2021-09-06 15:01
閱讀 2693·2021-09-02 15:21
閱讀 2732·2019-08-30 14:14
閱讀 2183·2019-08-29 13:59
閱讀 2514·2019-08-29 11:02
閱讀 2532·2019-08-26 13:33