Alfa-testing av PHP 8.4 har begynt.

Den første alfa-versjonen av den nye grenen av programmeringsspråket PHP 8.4 er nå tilgjengelig. Utgivelsen er planlagt til 21. november. Hovednyhetene, som allerede er tilgjengelige for testing eller planlagt for implementering i PHP 8.4:

  • Støtte for tilknyttede eiendomshåndterere (property hooks) er lagt til, som lar deg legge til ekstra logikk som kjøres ved endringer eller tilgang til objektets egenskaper, implementert uten å fange opp lese- og skriveoperasjoner ved hjelp av de vanlige funksjonene __get og __set, og uten å opprette ekstra omslagmetoder. Bruken av eiendomshåndterere gir muligheten til å betydelig redusere koden og forenkle omdefineringen av oppførselen for håndtering av egenskaper, ved å knytte en egen håndterer til hver egenskap. class User { public string $name { set { if (strlen($value) === 0) { throw new ValueError("Name must be non-empty"); } $this->name = $value; } } public function __construct(string $name) { $this->name = $name; } }
  • Det er nå tillatt å spesifisere metoder i "new"-konstruksjonen uten parenteser, det vil si i stedet for "name = (new MyClass())->method()" kan man nå spesifisere "name = new MyClass()->method()".
  • I stedet for den generelle parameteren "opcache.jit_buffer_size" for å kontrollere JIT-kompilatoren og justere JIT-bufferstørrelsen, er parameterne "opcache.jit" og "opcache.jit_buffer_size" foreslått. For å deaktivere JIT kan man nå spesifisere "opcache.jit=disable" i stedet for "opcache.jit_buffer_size=0". I tillegg er det gjort endringer som reduserer minneforbruket og øker ytelsen til JIT i enkelte situasjoner.
  • Atferden der funksjonsparametere med standardverdi null automatisk fikk tillatelse til å tildele null-verdier, er nå avskrevet. For at slike parametere skal kunne akseptere null-verdier, kreves det nå en eksplisitt angivelse av prefikset "?". For eksempel, i stedet for "function save(Book $book = null) {}" bør man skrive "function save(?Book $book = null) {}".
  • Klassen \Dom\HTMLDocument er implementert, støtter korrekt parsing av HTML5-markup.
  • Funksjonen request_parse_body() er lagt til for parsing av HTTP-forespørsler med innholdstypen multipart/form-data (RFC1867).

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster