PHP 8 beetatestimine on alanud

Tutvustatakse programmeerimiskeele PHP 8 uue haru esimene beetaversioon. Väljalase on kavandatud 26. novembrile. Samal ajal parandavad PHP 7.4.9, 7.3.21 ja
7.2.33, mis kõrvaldas kuhjunud vead ja haavatavused.

Kõik uuendused PHP 8:

  • Kaasamine JIT kompilaator, mille kasutamine suurendab tootlikkust.
  • Toetama nimega funktsiooni argumendid, mis võimaldavad teil edastada funktsioonile väärtusi seoses nimedega, st. Argumente saate edastada mis tahes järjekorras ja määratleda valikulisi argumente. Näiteks "massiivi_täitmine(algusindeks: 0, arv: 100, väärtus: 50)".
  • Meetoditele helistamisel lubatud kasutades operaatorit “?”, mis võimaldab kõne algatada ainult siis, kui meetod on olemas, mis väldib tarbetuid kontrolle nullväärtuse tagastamisel. Näiteks "$dateAsString = $broneering->getStartDate()?->asDateTimeString()";
  • Toetama liidu tüübid, mis määratleb kahte või enamat tüüpi kogusid (näiteks "avalik funktsioon foo(Foo|Bar $input): int|float;").
  • Toetama atribuudid (märkused), mis võimaldavad teil siduda metaandmeid (nt tüübiteavet) klassidega ilma Docblocki süntaksit kasutamata.
  • Väljenduse tugi vastama, mis erinevalt lülitist suudab tagastada väärtusi, toetab tingimuste kombineerimist, kasutab rangeid tüübivõrdlusi ega nõua "break" spetsifikatsiooni.

    $tulemus = vaste($sisend) {
    0 => "tere",
    '1', '2', '3' => "maailm",
    };

  • Lühendatud süntaks klassi definitsioonid, mis võimaldab kombineerida konstruktori määratlust ja atribuute.
  • Uus tagastustüüp - staatiline.
  • Uus tüüp - segatud, mille abil saab määrata, kas funktsioon aktsepteerib erinevat tüüpi parameetreid.
  • Väljendus viskama erandite käsitlemiseks.
  • Nõrk kaart luua objekte, mida saab prügikoristusel ohverdada (näiteks tarbetute vahemälude hoidmiseks).
  • Võimalus kasutades objektide jaoks väljendit “::class” (analoogselt get_class() kutsumisega).
  • Võimalus definitsioonid erandite püüdmisplokis, mis ei ole muutujatega seotud.
  • Võimalus jättes funktsiooni parameetrite loendis viimase elemendi järele koma.
  • Uus liides Jõuline mis tahes stringitüüpide või andmete tuvastamiseks, mida saab stringiks teisendada (mille jaoks on saadaval meetod __toString()).
  • Uus funktsioon str_contains(), strpos-i lihtsustatud analoog alamstringi esinemise määramiseks, samuti funktsioonid str_starts_with() ja str_ends_with() stringi alguses ja lõpus olevate vastete kontrollimiseks.
  • Lisatud funktsioon fdiv(), mis sooritab jagamistehte ilma nulliga jagamisel viga tekitamata.
  • Muudetud stringide ühendamise loogika. Näiteks väljend 'echo "sum:" . $a + $b' oli varem tõlgendatud kui 'echo ("summa: " . $a) + $b' ja PHP 8-s käsitletakse seda kui 'echo "sum: " . ($a + $b)”.
  • Pingutatud aritmeetiliste ja bitioperatsioonide kontrollimisel, näiteks avaldised "[] % [42]" ja "$object + 4" annavad tulemuseks vea.
  • Rakendatud stabiilne sortimisalgoritm, milles säilitatakse identsete väärtuste järjekord erinevatel käikudel.
  • Allikas: opennet.ru

Lisa kommentaar