Poslao prvo beta izdanje nove grane programskog jezika PHP 8. Izdanje je zakazano za 26. novembar. Istovremeno, korektivna izdanja PHP 7.4.9, 7.3.21 i
7.2.33, koji je eliminisao akumulirane greške i ranjivosti.
podrška imenovani argumenti funkcije, koji vam omogućavaju da prenesete vrijednosti funkciji u odnosu na imena, tj. Možete proslijediti argumente bilo kojim redoslijedom i definirati opcione argumente. Na primjer, "ispuna_niza(početni_indeks: 0, broj: 100, vrijednost: 50)".
Prilikom pozivanja metoda dozvoljeno koristeći operator “?”, koji vam omogućava da pokrenete poziv samo ako je metoda prisutna, čime se izbjegavaju nepotrebne provjere za vraćanje “null” vrijednosti. Na primjer, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
podrška vrste sindikata, definiranje kolekcija od dva ili više tipova (na primjer, “javna funkcija foo(Foo|Bar $input): int|float;”).
podrška atributi (napomene) koje vam omogućavaju da povežete metapodatke (kao što su informacije o tipu) za klase bez korištenja Docblock sintakse.
Podrška ekspresiji utakmica, koji, za razliku od switch-a, može vratiti vrijednosti, podržava uslove kombiniranja, koristi stroga poređenja tipova i ne zahtijeva specifikaciju "prekidanja".
WeakMap za kreiranje objekata koji se mogu žrtvovati tokom sakupljanja smeća (na primjer, za pohranjivanje nepotrebnih kešova).
Sposobnost koristeći izraz “::class” za objekte (analogno pozivu get_class()).
Sposobnost definicije u bloku catch izuzetaka koji nisu vezani za varijable.
Sposobnost ostavljajući zarez iza posljednjeg elementa na listi parametara funkcije.
Novi interfejs Stringable za identifikaciju bilo koje vrste stringova ili podataka koji se mogu pretvoriti u string (za koje je dostupna metoda __toString()).
Nova funkcija str_contains(), pojednostavljeni analog strpos za određivanje pojavljivanja podniza, kao i funkcije str_starts_with() i str_ends_with() za provjeru podudaranja na početku i kraju niza.
Dodata funkcija fdiv(), koji izvodi operaciju dijeljenja bez greške prilikom dijeljenja sa nulom.
Promijenjeno logika spajanja nizova. Na primjer, izraz 'echo "sum:" . $a + $b' je prethodno interpretirano kao 'echo ("sum: " . $a) + $b', au PHP 8 će se tretirati kao 'echo "sum: " . ($a + $b)'.
Zategnuto provjera aritmetičkih i bitnih operacija, na primjer, izrazi "[] % [42]" i "$object + 4" će rezultirati greškom.
Implementirano stabilan algoritam za sortiranje u kojem se poredak identičnih vrijednosti čuva u različitim serijama.