Mae profion beta o PHP 8 wedi dechrau

A gyflwynwyd gan ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π΅Ρ‚Π°-выпуск Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ языка программирования PHP 8. Π Π΅Π»ΠΈΠ· Π½Π°ΠΌΠ΅Ρ‡Π΅Π½ Π½Π° 26 ноября. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ сформированы ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ выпуски PHP 7.4.9, 7.3.21 ΠΈ
7.2.33, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… устранСны накопившиСся ошибки ΠΈ уязвимости.

Y prif arloesiadau PHP 8:

  • Galluogi Casglwr JIT, y bydd y defnydd ohono yn gwella cynhyrchiant.
  • Cymorth ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π²Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ значСния Π² привязкС ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ, Ρ‚.Π΅. ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ порядкС ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. НапримСр, Β«array_fill(start_index: 0, num: 100, value: 50)Β».
  • ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² caniateir ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Β«?Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ссли ΠΌΠ΅Ρ‚ΠΎΠ΄ присутствуСт, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ значСния Β«nullΒ». НапримСр, Β«$dateAsString = $booking->getStartDate()?->asDateTimeString()Β»;
  • Cymorth mathau o undeb, diffinio casgliadau o ddau fath neu fwy (er enghraifft, β€œfoo swyddogaeth gyhoeddus(Foo|Bar $input): int| fflΓ΄t;”).
  • Cymorth priodoleddau (anodiadau) sy'n eich galluogi i rwymo metadata (fel gwybodaeth teip) i ddosbarthiadau heb ddefnyddio cystrawen Docblock.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ yn cyd-fynd, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ switch ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ значСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ условий, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ строгоС сравнСниС Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ указания Β«breakΒ».

    $result = match($input) {
    0 => Β«helloΒ»,
    β€˜1’, β€˜2’, β€˜3’ => Β«worldΒ»,
    };

  • Cystrawen fyrrach diffiniadau dosbarth, sy'n eich galluogi i gyfuno'r diffiniad o adeiladwr a phriodweddau.
  • Math dychwelyd newydd - sefydlog.
  • Math newydd - cymysg, y gellir ei ddefnyddio i benderfynu a yw swyddogaeth yn derbyn paramedrau o wahanol fathau.
  • Mynegiant taflu i ymdrin ag eithriadau.
  • Map Gwan i greu gwrthrychau y gellir eu haberthu wrth gasglu sbwriel (er enghraifft, i storio celciau diangen).
  • Cyfle gan ddefnyddio'r ymadrodd β€œ::class” ar gyfer gwrthrychau (sy'n cyfateb i alw get_class()).
  • Cyfle diffiniadau yn y bloc dal o eithriadau nad ydynt yn rhwym i newidynnau.
  • Cyfle gadael coma ar Γ΄l yr elfen olaf yn y rhestr o baramedrau swyddogaeth.
  • Rhyngwyneb newydd Llinynnol i nodi unrhyw fathau o linyn neu ddata y gellir eu trosi i linyn (y mae'r dull __toString() ar gael ar eu cyfer).
  • Nodwedd newydd str_cynnwys(), analog wedi'i symleiddio o strpos ar gyfer penderfynu ar ddigwyddiad is-linyn, yn ogystal Γ’'r ffwythiannau str_starts_with() a str_ends_with() ar gyfer gwirio cyfatebion ar ddechrau a diwedd llinyn.
  • Nodwedd ychwanegol fdiv(), sy'n perfformio gweithrediad rhannu heb daflu gwall wrth rannu Γ’ sero.
  • Wedi newid rhesymeg uno llinyn. Er enghraifft, mae'r ymadrodd 'adlais "swm:" . Dehonglwyd $a + $b yn flaenorol fel 'echo ( "sum: " . $a) + $b', ac yn PHP 8 caiff ei drin fel 'echo" sum: " . ($a + $b)'.
  • Tynhau bydd gwirio gweithrediadau rhifyddeg a did, er enghraifft, yr ymadroddion "[] ​​%[42]" a "$object + 4" yn arwain at wall.
  • Gweithredwyd algorithm didoli sefydlog lle mae trefn yr un gwerthoedd yn cael ei gadw ar draws rhediadau gwahanol.
  • Ffynhonnell: opennet.ru

Ychwanegu sylw