Predstavljeno prvo beta izdanje nove grane programskog jezika PHP 8. Izdanje je zakazano za 26. studenog. U isto vrijeme, ispravna izdanja PHP-a 7.4.9, 7.3.21 i
7.2.33, koji je eliminirao akumulirane pogreške i ranjivosti.
podrška imenovani argumenti funkcije, koji vam omogućuju prosljeđivanje vrijednosti funkciji u odnosu na imena, tj. Možete proslijediti argumente bilo kojim redoslijedom i definirati neobavezne argumente. Na primjer, "array_fill(start_index: 0, num: 100, value: 50)".
Prilikom pozivanja metoda dozvoljen pomoću operatora “?”, koji vam omogućuje pokretanje poziva samo ako je metoda prisutna, čime se izbjegavaju nepotrebne provjere za vraćanje vrijednosti “null”. Na primjer, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
podrška vrste sindikata, definirajući zbirke od dva ili više tipova (na primjer, “javna funkcija foo(Foo|Bar $input): int|float;”).
podrška atributi (komentacije) koje vam omogućuju vezanje metapodataka (kao što su informacije o tipu) za klase bez korištenja Docblock sintakse.
Podrška za izražavanje utakmica, koji, za razliku od switcha, može vratiti vrijednosti, podržava uvjete kombiniranja, koristi stroge usporedbe tipova i ne zahtijeva specifikaciju "break".
WeakMap za stvaranje objekata koji se mogu žrtvovati tijekom skupljanja smeća (na primjer, za pohranjivanje nepotrebnih predmemorija).
Prilika koristeći izraz “::class” za objekte (analogno pozivu get_class()).
Prilika definicije u catch bloku iznimaka koje nisu vezane na varijable.
Prilika ostavljajući zarez iza zadnjeg elementa u popisu parametara funkcije.
Novo sučelje Nanizano za identifikaciju svih vrsta nizova ili podataka koji se mogu pretvoriti u niz (za što je dostupna metoda __toString().
Nova značajka str_sadrži(), 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.
Dodana značajka fdiv(), koji izvodi operaciju dijeljenja bez izbacivanja pogreške pri dijeljenju s nulom.
Promijenjeno logika spajanja nizova. Na primjer, izraz 'echo "sum:" . $a + $b' se prethodno tumačio kao 'echo ("sum: " . $a) + $b', au PHP-u 8 će se tretirati kao 'echo "sum: ". ($a + $b)'.
Zategnuto provjera aritmetičkih i bitnih operacija, na primjer, izrazi "[] % [42]" i "$objekt + 4" rezultirat će pogreškom.
Provedeno stabilan algoritam sortiranja u kojem se redoslijed identičnih vrijednosti čuva u različitim izvođenjima.