Alustati PHP 8 beetatestimist

Esitletud programmeerimiskeele PHP 8 esimene beetaversioon. VÀljalaskmine on planeeritud 26. novembrile. Samuti on vÀlja antud parandavaid versioone PHP 7.4.9, 7.3.21 ja
7.2.33, milles on kÔrvaldatud kogunenud vead ja haavatavused.

Peamised uuendused PHP 8:

  • KĂ€ivitamine JIT-kompilaator, mille rakendamine vĂ”imaldab suurendada jĂ”udlust.
  • Toetamine nimetatud funktsioonide argumendid, mis vĂ”imaldavad funktsiooni vÀÀrtusi edastada sidudes need nimedega, st argumendid saab edastada suvalises jĂ€rjekorras ja mÀÀrata valikulised argumendid. NĂ€iteks „array_fill(start_index: 0, num: 100, value: 50)“.
  • Meetodite kutsumise korral lubatud kasutada operaatorit „?“, mis vĂ”imaldab algatada kutsumise ainult siis, kui meetod on olemas, vĂ€ltides seelĂ€bi tarbetute kontrollide tegemist, et tagastada „null“. NĂ€iteks „$dateAsString = $booking->getStartDate()?->asDateTimeString()“;
  • Toetamine ĂŒhend-tyĂŒpide, mis mÀÀratlevad kollektsioonid, mis koosnevad kahest vĂ”i enamast tĂŒĂŒbist (nt „public function foo(Foo|Bar $input): int|float;“).
  • Toetamine atribuutide (annotatsioonide), mis vĂ”imaldavad siduda metaandmeid (nt teavet tĂŒĂŒpide kohta) klassidega ilma Docblock sĂŒntaksit kasutamata.
  • Toetatakse vĂ€ljendeid match, mis erinevalt switchist vĂ”ivad tagastada vÀÀrtusi, toetavad tingimuste kombineerimist, kasutavad ranget tĂŒĂŒpide vĂ”rdlemist ning ei vaja „break“ mĂ€rkimist.

    $result = match($input) {
    0 => „tere“,
    ‘1’, ‘2’, ‘3’ => „maailm“,
    };

  • LĂŒhendatud sĂŒntaks klasside mÀÀratlemiseks, mis vĂ”imaldab kombineerida konstruktori ja omaduste mÀÀratlemise.
  • Uus tagastatavate vÀÀrtuste tĂŒĂŒp — staatiline.
  • Uus tĂŒĂŒp — mixed, mida saab kasutada funktsioonile erinevate tĂŒĂŒpide parameetrite mÀÀratlemiseks.
  • VĂ€ljend viska erandite töötlemiseks.
  • WeakMap objektide loomiseks, millest on vĂ”imalik loobuda prĂŒgi kogumise ajal (nĂ€iteks valikuliste vahetaminekube hoidmiseks).
  • VĂ”imalus vĂ€ljendi „::class“ kasutamine objektide jaoks (sarnane get_class() vĂ€ljakutsetega).
  • VĂ”imalus erandite mÀÀratlemine catch plokis, mida ei seostata muutujatega.
  • VĂ”imalus viimane element funktsiooni parameetrite nimekirjas koma sĂŒmboli jĂ€tmine.
  • Uus liides Stringable kĂ”ikide stringi tĂŒĂŒpide vĂ”i andmete identifitseerimiseks, mida saab muuta stringiks (kellel on meetod __toString()).
  • Uus funktsioon str_contains(), lihtsustatud analoog strpos-st, et mÀÀrata alammĂ€ngu esinemist ning funktsioonid str_starts_with() ja str_ends_with(), et kontrollida vastavust stringi alguses ja lĂ”pus.
  • Lisa funktsionaalsus fdiv(), teostab jagamistehte, ilma et tekiks viga jagamisel nulliga.
  • Muudetud stringide ĂŒhendamise loogika. NĂ€iteks vĂ€ljend ‘echo «sum: » . $a + $b’ tĂ”lgendati varem kui ‘echo («sum: » . $a) + $b’, kuid PHP 8-s töödeldakse seda kui ‘echo «sum: » . ($a + $b)’.
  • Tugevdatud aritmeetiliste ja bititegevuste kontroll, nĂ€iteks vĂ€ljendid «[] % [42]» ja «$object + 4» pĂ”hjustavad vea.
  • Tehtud stabiilne sortimise algoritm, kus erinevate kĂ€ivituste ajal sĂ€ilitatakse sama vÀÀrtuse jĂ€rjestus.
  • Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster