久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      PHP8.2發(fā)布了,快來看看有什么改動!

      PHP8.2發(fā)布了,快來看看有什么改動!

      php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
      Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點擊使用

      PHP8.2是PHP語言現(xiàn)代化進(jìn)程中的一個重要的里程碑。除了令人興奮地新特性和改進(jìn)之外,PHP8.2還簡化了語言,取消了對動態(tài)類屬性的支持,在遇到某些非最優(yōu)的ini配置時發(fā)出警告,并修復(fù)了一些影響PHP數(shù)組排序和某些類型的字符串轉(zhuǎn)換/編碼操作的遺留PHP行為?!就扑]學(xué)習(xí):PHP視頻教程】

      系統(tǒng)改進(jìn)

      PHP8.2解決了PHP類型系統(tǒng)的幾個缺點和限制,允許PHP應(yīng)用采用更好的類型安全。包括添加了true類型,允許null和false作為獨立的類型使用,并支持DNF類型(泛型解析)。

      PHP8.2支持分離范式類型,現(xiàn)在可以進(jìn)行組合聯(lián)合類型和交際類型,這可以定義聲明精確而富有表現(xiàn)力的參數(shù)、返回值和屬性。

      php8.2之前

      class Foo {     public function bar(mixed $entity) {         if ((($entity instanceof A) && ($entity instanceof B)) || ($entity === null)) {             return $entity;         }          throw new Exception('Invalid entity');     } }
      登錄后復(fù)制

      現(xiàn)在

      class Foo {     public function bar((A&B)|null $entity) {         return $entity;     } }
      登錄后復(fù)制

      支持truefalse作為獨立的類型,如果bool始終相同的時候可以用它來聲明。

      function alwaysReturnsFalse(): false {}  function alwaysReturnsNull(): null {}  function alwaysReturnsTrue(): true {}
      登錄后復(fù)制

      其中null的類型在之前的版本中就可以在聯(lián)合類型聲明中使用,現(xiàn)在可以獨立使用了。

      只讀類

      PHP8.1增加了一個readonly的屬性聲明。一個readonly的屬性只能設(shè)置一次,并且PHP會阻止任何作用域內(nèi)的修改。

      PHP8.2readonly聲明進(jìn)行更進(jìn)一步的使用,可以將類聲明為readonly。當(dāng)一個類被聲明為readonly,它的所有屬性都會自動聲明readonly。此外,這個類不能使用動態(tài)屬性,以確保所有的屬性都是有定義的。

      readonly class User {     public string $username;     public string $uid; }
      登錄后復(fù)制

      所有的屬性都會自動聲明城readonly。

      新的隨機(jī)數(shù)擴(kuò)展

      PHP的歷史發(fā)展中,它支持各種各樣的隨機(jī)數(shù)生成器,他們有不同程度的性能和不同的用例,并且適合安全應(yīng)用程序。PHP8.2更進(jìn)一步,將所有與隨機(jī)數(shù)相關(guān)的功能重構(gòu)為一個名為random的擴(kuò)展。新的擴(kuò)展不會破壞任何現(xiàn)有的接口使用,因此現(xiàn)有的rand,mt_rand函數(shù)將繼續(xù)工作,不需要任何更改。它還提供了一個對象接口,用可插拔的體系生成隨機(jī)數(shù),因此很容易模擬隨機(jī)數(shù)生成器并提供新的隨機(jī)數(shù)生成器,從而市PHP應(yīng)用程序安全且易于測試。

      trait常量

      PHP8.2中,可以在trait中聲明常量。trait不能直接訪問,但當(dāng)類使用trait時,這些常量就變成了類的常量。

      trait Foo {     public const CONSTANT = 1; }  class Bar {     use Foo; }  var_dump(Bar::CONSTANT); // 1 var_dump(Foo::CONSTANT); // Error
      登錄后復(fù)制

      敏感參數(shù)支持

      PHP8.2新增了一個內(nèi)置參數(shù)屬性命名:#[SensitiveParameter]。能夠使PHP在堆棧跟蹤和錯誤消息中隱藏掉實際值。

      我們經(jīng)常會在參數(shù)或?qū)傩灾卸x密碼、秘鑰或其他敏感信息。當(dāng)PHP發(fā)生錯誤時,這些值會被記錄下來。顯示到屏幕上或者記錄到日志中。這樣人們就能通過這些方式得到敏感數(shù)據(jù)。

      比如下面的例子:

      function passwordHash(#[SensitiveParameter] string $password)  {         debug_print_backtrace();   }   passwordHash('hunter2');
      登錄后復(fù)制

      打印的內(nèi)容如下:

      array(1) {  [0]=> array(4) {    ["file"]=> string(38) "..."    ["line"]=> int(9)    ["function"]=> string(3) "foo"    ["args"]=> array(1) {       // [0]=> string(38) "hunter2" 這一行不會被打印出來       [0]=> object(SensitiveParameterValue)#1 (0) {}    }  } }
      登錄后復(fù)制

      hunter2不會被打印出來。

      新的函數(shù)和類

      解析INI數(shù)量值:ini_parse_quantity

      PHP ini值識別成字節(jié)。

      ini_parse_quantity('256M'); // 268435456
      登錄后復(fù)制

      curl維持活動:curl_upkeep

      PHP8.2中,curl擴(kuò)展會觸發(fā)底層curl庫來運行必要任務(wù),以保持curl連接存活。最常見的用法就是定期調(diào)用curl_upkeep來實現(xiàn)http持久連接(keep-alive

      檢索密碼長度:openssl_cipher_key_length

      PHP8.2 OpenSSL中,有一個名為openssl_cipher_key_length的函數(shù),能夠接受任何支持的密碼所需的秘鑰長度,在之前需要硬編碼才能實現(xiàn):

      openssl_cipher_key_length("CHACHA20-POLY1305"); // 32 openssl_cipher_key_length("AES-128-GCM"); // 16 openssl_cipher_key_length("AES-256-GCM"); // 32
      登錄后復(fù)制

      重置記錄的峰值內(nèi)存使用量:memory_reset_peak_usage

      這對于多次調(diào)用或迭代調(diào)用時很有用。

      PHP8.2中的棄用

      PHP8.2也帶來了相當(dāng)一部分的棄用。當(dāng)語法、函數(shù)和特性被棄用時,PHP會發(fā)起一個棄用通知,該通知不應(yīng)該中斷PHP程序,但會被記錄到錯誤日志中。

      注意:PHP8.0以后,PHP的默認(rèn)錯誤報告行為是E_ALL

      已棄用動態(tài)屬性

      PHP8.2中最值得注意的棄用之一就是棄用動態(tài)屬性。如果一個類屬性沒有聲明就被調(diào)用或賦值,就會退出程序。

      class User {     public int $uid; }  $user = new User(); $user->name = 'Foo';
      登錄后復(fù)制

      這個可能會影響到很多的的PHP遺留程序,推薦的修復(fù)方法是在類型中聲明屬性。

      對此也有例外用法,比如stdClass和它的子類將正常使用,__get和__set魔術(shù)方法將正常使用,或者聲明#AllowDynamicProperties。

      其他一些棄用可以關(guān)注本站其他文章:

      PHP8.2中字串變量解析的新用法》https://phpreturn.com/index/a628de16a2adf8.html

      安裝和升級到PHP8.2

      PHP 8.2現(xiàn)在可以在所有常規(guī)源代碼中下載/安裝:

      • Windows:編譯后的二進(jìn)制文件可在windows.php.net

      • Ubuntu/Debian: PHP 8.2可用ondrej/phpPPA

      • Fedora/RHEL/CentOS/Alma/Rocky:可以在Remi的源中獲取

      • Mac OS: PHP 8.2可以通過Homebrew安裝shivammathur/homebrew-php利用.

      • Docker:可以通過8.2*版本獲取PHP 8.2

      PHP8.2發(fā)布了,快來看看有什么改動!

      PHP8.2發(fā)布了,快來看看有什么改動!

      原文地址:https://phpreturn.com/index/a639285aa925ed.html

      原文平臺:PHP武器庫

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號