日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

短閉包 RFC

短閉包實現更簡潔的單行書寫。

array_map(function (User $user) {

return $user->id;

}, $users)

array_map(fn(User $user) => $user->id, $users)

關于短閉包的一些注意事項:

  • 可以訪問父作用域,不需要 use 關鍵字。
  • $this 可以像普通的閉包一樣使用。
  • 短閉包只能包含一行,也就是 return 語句。

你可以在這里深入閱讀它們。

類型屬性 RFC

類屬性可以提示類型:

class A

{

public string $name;

public Foo $foo;

}

改進的類型差異 RFC

我之前寫過 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)

{ /* … */ }

}

Null 合并運算符 RFC

不再需要這樣做:

$data['date'] = $data['date'] ?? new DateTime();

你可以這樣做:

$data['date'] ??= new DateTime();

數組展開運算符 RFC

現在你可以在數組中使用展開運算符:

$arrayA = [1, 2, 3];

$arrayB = [4, 5];

$result = [0, ...$arrayA, ...$arrayB, 6 ,7];

// [0, 1, 2, 3, 4, 5, 6, 7]

請注意,這僅適用于帶數字鍵的數組。

外部函數接口 RFC

外部函數接口,簡稱 FFI,允許從用戶區調用 C 代碼。這意味著 PHP 擴展可以用純 PHP 編寫。

應該指出,這是一個復雜的話題。您仍然需要 C 知識才能正確使用此功能。

預加載 RFC

預加載是 PHP 核心的一個振奮人心的新功能,可以帶來不可預估的性能改進。

簡而言之:如果您今天使用的是框架,則必須在每次請求時加載和重新編譯其文件。預加載允許服務器在啟動時于內存中加載 PHP 文件,并使它們持久化可用于所有后續請求(只要不停電)。

性能提升當然需要付出代價:如果預加載文件的源文件發生變化,則必須重新啟動服務器(該部分若有異議,請查看 RFC 詳細介紹)

自定義對象序列化 RFC

RFC 增加了兩個新的魔術方法:__serialize 和 __unserialize 。這些方法和 __sleep 以及 __wakeup 的不同之處已經在 RFC 中進行了討論。

連接優先級 RFC

如果你書寫了類似以下的內容:

echo "sum: " . $a + $b;

PHP 之前會像這樣編譯它:

echo ("sum: " . $a) + $b;

而 PHP 8 將使它如下編譯:

echo "sum :" . ($a + $b);

當在遇到沒有圓括號包含的 '+' 或 ' - ' 表達式之前有 '.' 的時候,PHP 7.4 會提示棄用警告。

RFC 投票流程改進

這在技術上不是與 PHP 7.4 相關的更新,但值得一提的是:RFC的投票規則已經改變。

  • 他們將總是需要 2/3 的大半支持才能通過。
  • 投票時間不短,所有RFC必須至少開放 2 周。

參考文獻的反思 RFC

像 Symfony 的 var dumper 這樣的庫嚴重依賴于反射 API 來可靠地轉儲變量。以前,沒有對參考文獻提供適當的反映支持,導致這些庫依賴于黑客來檢測反映。

PHP 7. 4 添加了 ReflectionReference 解決此問題的類。

添加 mb_str_split 函數 RFC

此函數提供與 str_split 多字節字符串相同的功能。

永久支持 ext-hash RFC

正如標題所說,此擴展現在可在所有 PHP 安裝中永久支持使用。

默認不啟用 PEAR EXTERNALS

由于 PEAR 不再支持維護,核心團隊決定在 PHP 7.4 中刪除它的默認安裝。

密碼哈希注冊表RFC

對如何使用散列庫進行內部更改,以便用戶可以更輕松地使用它們。

棄用ext/wwdx RFC

此數據交換格式從未標準化,現在已經棄用該擴展。

PHP 短標簽被棄用 RFC

短開標簽 <? 已被棄用,將在 PHP 8 中刪除。短聲明標記 <?= 不受影響。

左關聯三元運算符被棄用 RFC

三元運算符在 PHP 中有一些奇怪的怪癖。此 RFC 為嵌套的三元語句添加了棄用。在 PHP 8 中,此棄用將轉換為編譯時錯誤。

1 ? 2 : 3 ? 4 : 5; // deprecated

(1 ? 2 : 3) ? 4 : 5; // ok

向后不兼容的更改 UPGRADING

升級PHP版本時,您應該始終查看完整的 UPGRADING 文檔。

以下是一些突出顯示的向后不兼容的更改:

  • 調用 var_dump 一個 DateTime 或 DateTimeImmutable 實例后面將不再保留對象的可訪問屬性。
  • openssl_random_pseudo_bytes 將在錯誤情況下拋出異常。
  • 嘗試序列化一個 PDO 或 PDOStatement 實例將生成一個 Exception 而不是一個 PDOException 。
  • 調用 get_object_vars() 上的 ArrayObject 實例將返回的屬性 ArrayObject 本身,而不是包裝的數組或對象的值。請注意,(array) 強制轉換不受影響。

分享到:
標簽:PHP
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定