Mae profion beta o PHP 8 wedi dechrau

A gyflwynwyd gan datganiad beta cyntaf y gangen newydd o iaith raglennu PHP 8 Mae'r datganiad wedi'i drefnu ar gyfer Tachwedd 26. Ar yr un pryd, mae datganiadau cywiro PHP 7.4.9, 7.3.21 a
7.2.33, a oedd yn dileu gwallau cronedig a gwendidau.

Y prif arloesiadau PHP 8:

  • Galluogi Casglwr JIT, y bydd y defnydd ohono yn gwella cynhyrchiant.
  • Cymorth dadleuon ffwythiannau a enwir, sy'n eich galluogi i drosglwyddo gwerthoedd i'r ffwythiant mewn perthynas ag enwau, h.y. Gallwch basio dadleuon mewn unrhyw drefn a diffinio dadleuon dewisol. Er enghraifft, "array_fill (start_index: 0, rhif: 100, gwerth: 50)".
  • Wrth ffonio dulliau caniateir defnyddio'r gweithredwr “?”, sy'n eich galluogi i gychwyn galwad dim ond os yw'r dull yn bresennol, sy'n osgoi gwiriadau diangen ar gyfer dychwelyd y gwerth “null”. Er enghraifft, "$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.
  • Cefnogaeth mynegiant yn cyd-fynd, sydd, yn wahanol i switsh, yn gallu dychwelyd gwerthoedd, cefnogi cyfuno amodau, defnyddio cymariaethau math llym, ac nid oes angen manyleb "egwyl".

    $result = cyfateb($mewnbwn) {
    0 => "helo",
    '1', '2', '3' => “byd”,
    };

  • 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