prvi beta-izdaja nove grane programskog jezika PHP 8. Izdanje je zakazano za 26. novembar. Istovremeno su formirana korektivna izdanja PHP 7.4.9, 7.3.21 i
7.2.33, u kojima su ispravljene nagomilane greške i ranjivosti.
Glavne PHP 8:
- , katerega uporaba bo omogočila povečanje zmogljivosti.
- imenovanih argumenata funkcija, koji omogućavaju slanje vrednosti u funkciju vezano za imena, tj. moguće je slati argumente u proizvoljnom redosledu i određivati neobavezne argumente. Na primer, «array_fill(start_index: 0, num: 100, value: 50)».
- Pri pozivu metoda korisćenje operatora «?», koji omogućava iniciranje poziva samo ako je metoda prisutna, što omogućava izbegavanje suvišnih provera na povratnu vrednost «null». Na primer, «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
- Podpora , ki definirajo zbirke dveh ali več tipov (na primer „public function foo(Foo|Bar $input): int|float;“).
- Podpora (annotacij), ki omogočajo povezovanje metapodatkov (na primer informacije o tipih) s razredi brez uporabe Docblock sintakse.
- Podrška za izraze , koji za razliku od switch mogu vraćati vrednosti, podržavaju kombinovanje uslova, koriste strogo poređenje tipova i ne zahtevaju navođenje «break».
$result = match($input) {
0 => «hello»,
‘1’, ‘2’, ‘3’ => «world»,
}; - za definicijo razredov, ki omogoča združitev definicije konstruktorja in lastnosti.
- Nova vrsta vrnjenih vrednosti — .
- Nova vrsta — , ki se lahko uporablja za določitev sprejemanja funkcij različnih tipov parametrov.
- Izraz za obvladovanje izjem.
- za ustvarjanje objektov, ki jih lahko žrtvujemo pri čiščenju pomnilnika (na primer za shranjevanje neobveznih predpomnilnikov).
- uporabe izraza „::class“ za objekte (podobno kot klic get_class()).
- določitev v catch bloku izjem, ki niso vezane na spremenljivke.
- izpuščanje vejice po zadnjem elementu v seznamu parametrov funkcije.
- Nov vmesnik za identifikacijo vseh vrst nizov ali podatkov, ki jih je mogoče pretvoriti v niz (za katere je na voljo metoda __toString()).
- Nova funkcija , poenostavljena različica strpos za določitev prisotnosti podniza, kot tudi funkcij str_starts_with() in str_ends_with() za preverjanje ujemanj na začetku in na koncu niza.
- Dodana funkcija , ki izvaja operacijo deljenja brez izpisa napake v primeru deljenja z nič.
- logika povezovanja nizov. Na primer, izraz ‘echo „sum: “ . $a + $b’ je bil prej interpretiran kot ‘echo („sum: “ . $a) + $b’, zdaj pa bo v PHP 8 obdelan kot ‘echo „sum: “ . ($a + $b)’.
- preverba aritmetičnih in bitnih operacij, na primer, izrazi „[] % [42]“ in „$object + 4“ bodo povzročili napako.
- stabilen algoritme za razvrščanje, ki pri različnih zagonih ohranja vrstni red enakih vrednosti.
Izvor: opennet.ru
