A PHP 8 programozási nyelv új ágának első bétakiadása. A kiadás tervezett időpontja november 26. Ezzel egyidőben hibajavító kiadások kerültek bevezetésre a PHP 7.4.9, 7.3.21 és
7.2.33 verziókban, amelyek kijavították az felhalmozódott hibákat és biztonsági réseket.
Fő PHP 8:
- union típusok
- a neveket használó argumentumok, amelyek lehetővé teszik az értékek átadását a függvényeknek névhez kötve, azaz az argumentumokat tetszőleges sorrendben lehet átadni, és meghatározhatók a nem kötelező argumentumok. Például: «array_fill(start_index: 0, num: 100, value: 50)».
- A metódusok hívásakor a «?» operátor használata, amely lehetővé teszi a hívás kezdeményezését csak akkor, ha a metódus jelen van, elkerülve ezzel a felesleges ellenőrzéseket a «null» érték visszatérésére. Például: «$dateAsString = $booking->getStartDate()?->asDateTimeString()»;
- Támogatás attribútumok
- Támogatás Rövidített szintaxis
- Kifejezések támogatása , amelyek a switch-csel ellentétben visszaadhatnak értékeket, támogatják a feltételek kombinálását, alkalmazzák a szigorú típusösszehasonlítást és nem igénylik a «break» megadását.
$result = match($input) {
0 => «hello»,
‘1’, ‘2’, ‘3’ => «world»,
}; - Az új visszatérési érték típusa —
- static .
- mixed kivételkezelésre.
- Kifejezés Olyan objektumok létrehozására, amelyeket el lehet távolítani a szemétgyűjtés során (például opcionális cache-ek tárolására).
- a ‘::class’ kifejezés használata objektumok esetén (hasonló a get_class() hívásához).
- kivételdefiníciók a catch blokkban, amelyek nincsenek a változókhoz kötve.
- a paraméterlista utolsó elemét követő vessző elhagyása.
- Az új Stringable interfész
- a bármilyen string típus vagy adat azonosításához, amely átalakítható stringgé (amelyeknél elérhető a __toString() metódus). , amely a substring előfordulásának meghatározására szolgál, valamint a str_starts_with() és str_ends_with() funkciók a string elején és végén lévő egyezőségek ellenőrzésére.
- runtime.AddCleanup , amely az osztási műveletet hajt végre, anélkül, hogy hibaüzenetet adna vissza, ha nullával osztanak.
- Hozzáadva: a stringek összekapcsolásának logikája. Például a ’echo „sum: ” . $a + $b’ kifejezést korábban úgy értelmezték, mint ‘echo (”sum: ” . $a) + $b’, míg a PHP 8-ban úgy lesz kezelve, mint ‘echo „sum: ” . ($a + $b)’.
- az aritmetikai és bitműveletek ellenőrzését, például a „[] % [42]” és „$object + 4” kifejezések hibát fognak okozni.
- Az új kör forgalmának fenntartása
- az alábbi jellemzőkkel és funkciókkal.
Forrás: opennet.ru
