首頁 頭條 PHP 7.4預計在2019年12月發布

PHP 7.4預計在2019年12月發布

Mar 27, 2019 am 11:33 AM
PHP 7.4

PHP 7.4可能會在2019年12月發售。此頁面將定期更新。

<strong>Preloading</strong>#預先載入 rfc

Preloading

<strong></strong>

# (預先載入)是PHP核心的一個驚人的補充,它可以帶來一些主要的效能改進。

簡而言之:如果你今天使用的是框架,那麼它的檔案必須在每次請求時載入和重新編譯。預先載入允許伺服器在啟動時在記憶體中載入PHP文件,並使它們對所有後續請求永久可用。

效能的提高當然是有代價的:如果預先載入檔案的來源發生變化,則必須重新啟動伺服器。 <strong></strong>Typed properties<strong></strong> rfc

類別變數可以是類型提示:

class A
{
    public string $name;
    
    public Foo $foo;
}
登入後複製

更新:到目前為止,已合併了Typed properties,從而為PHP 7.4確認了這些屬性。

Improved type variance

(改進的類型差異) 

rfc

##我以前寫過關於PHP類型系統的文章,所以很高興看到PHP核心中出現了一些改進。

類型差異是一個值得自己發表博文的主題;<strong></strong>簡而言之:你將能夠使用covariant返回類型

class ParentType {}
class ChildType extends ParentType {}

class A
{
    public function covariantReturnTypes(): ParentType
    { /* … */ }
}

class B extends A
{
    public function covariantReturnTypes(): ChildType
    { /* … */ }
}
登入後複製
contravariant

參數。

class A
{
    public function contraVariantArguments(ChildType $type)
    { /* … */ }
}

class B extends A
{
    public function contraVariantArguments(ParentType $type)
    { /* … */ }
}
登入後複製

更新:RFC目前處於投票階段,但看起來它會毫無問題地通過。

Foreign Function Interface<strong></strong>(外部函數介面) rfc

外部函數接口,簡稱FFI,允許從用戶網域呼叫C程式碼。這意味著PHP擴充可以用純PHP編寫。

值得注意的是,這是一個複雜的話題。你仍然需要C知識才能正確地使用這個特性。

Null

<strong></strong>合併賦值運算子 rfc

不是這樣做:

$data[&#39;date&#39;] = $data[&#39;date&#39;] ?? new DateTime();
登入後複製
你可以這樣做:
$data[&#39;date&#39;] ??= new DateTime();
登入後複製
更新:這個特性現在合併到PHP 7.4。 自訂物件序列化 

rfc

#這個RFC加入了兩個新的魔術方法:<strong>__serialize</strong>和__unserialize。在RFC中討論了這些方法與__sleep

__wakeup

方法的差異。

更新:RFC通過。這個特性將會在PHP 7.4中加入。 <strong></strong>No more narrow margins

rfc

從技術上講,這並不是與PHP 7.4相關的更新,但它確實值得一提。 RFC的投票規則已經改變:他們總是需要2/3的多數才能通過。

Reflection for references

rfc像Symfony的var轉儲程式這樣的函式庫很大程度上依賴於反射API來可靠地轉儲變數。以前,沒有對引用的適當反射支持,導致這些庫依賴hack來檢測引用。

PHP 7.4加入了

ReflectionReference

類,解決了這個問題。

更新:RFC已通過,PHP 7.4已確認變更。 新增mb_str_split 

rfc

這個函數提供了與str_split相同的功能,但是是在多位元組字符串上。 總是啟用

ext-hash

 

rfc如標題所說,這個擴充功能現在在所有PHP安裝中都是永久可用的。 <strong></strong>預設不會啟用PEAR

#由於PEAR不再積極維護,核心團隊決定以PHP 7.4刪除預設安裝。

<strong></strong>密碼雜湊(Hashing<strong></strong>)登錄機碼 rfc

內部變更雜湊庫的使用方式,以便使用者更容易使用它們。

<strong></strong>棄用

ext / wwdx

rfc

這種資料交換格式從來沒有標準化過,現在它的擴充被廢棄了。

###向後不相容的變更升級#########在升級PHP版本時,應該始終查看###完整的升級文件###。 ######以下是突出顯示的一些向後不相容的更改:######• ###parent::###在沒有父級的類別中引用將產生編譯時錯誤而不是運行時錯誤。 ###

• 在DateTimedatetimevariable實例上呼叫var_dump將不再在物件上留下可存取的屬性。

openssl_random_pseudo_bytes將在錯誤情況下拋出例外。

• 試圖序列化PDOPDOStatement實例將產生異常,而不是PDOException

• 在ArrayObject實例上呼叫get_object_vars()將傳回ArrayObject本身的屬性,而不是被包裝的陣列或物件的值。注意(數組)強制轉換不受影響。

翻譯自:https://stitcher.io/blog/new-in-php-74#reflection-for-references-rfc

##相關推薦:

PHP7和PHP5在安全上的差異(實例)

PHP7 的抽象語法樹(AST)所帶來的變化

#《

PHP7語言的執行原理(PHP7原始碼分析)

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)