De alfaversie van PHP 8.4 is begonnen met testen

De eerste alfa-release van de nieuwe tak van de programmeertaal PHP 8.4 is aangekondigd. De release is gepland voor 21 november. Belangrijkste vernieuwingen die al beschikbaar zijn voor testen of gepland staan voor implementatie in PHP 8.4:

  • Ondersteuning voor property hooks is toegevoegd, waarmee extra logica kan worden toegevoegd die wordt uitgevoerd bij het wijzigen of benaderen van objecteigenschappen, geĆÆmplementeerd zonder het onderscheppen van lees- en schrijfbewerkingen met behulp van de algemene functies __get en __set, en zonder dat extra wrapper-methoden hoeven worden gemaakt. Het gebruik van property hooks maakt het mogelijk om de hoeveelheid code aanzienlijk te verminderen en het herdefiniĆ«ren van het gedrag van het werken met eigenschappen te vereenvoudigen, door een eigen handler aan elke eigenschap te binden. 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; } }
  • Het is nu toegestaan om naar methoden te verwijzen in de 'new'-constructie zonder scheidingstekens, dat wil zeggen, in plaats van '$name = (new MyClass())->method()' kan nu '$name = new MyClass()->method()' worden aangegeven.
  • In plaats van de algemene parameter 'opcache.jit_buffer_size' voor het beheren van de JIT-compiler en het instellen van de JIT-buffer-grootte, zijn de parameters 'opcache.jit' en 'opcache.jit_buffer_size' voorgesteld. Om JIT uit te schakelen kan nu 'opcache.jit=disable' worden aangegeven in plaats van 'opcache.jit_buffer_size=0'. Bovendien zijn er wijzigingen aangebracht die het geheugengebruik verminderen en de prestaties van JIT in bepaalde situaties verhogen.
  • Het gedrag waarbij parameters van functies met een standaardwaarde van null automatisch de toekenning van null-waarden toeliet, is verouderd verklaard. Om ervoor te zorgen dat dergelijke parameters null-waarden kunnen aannemen, is nu een expliciete prefix '?' vereist. Bijvoorbeeld, in plaats van 'function save(Book $book = null) {}' moet worden aangegeven 'function save(?Book $book = null) {}'.
  • De class \Dom\HTMLDocument is geĆÆmplementeerd, die een correcte parsing van HTML5-markup ondersteunt.
  • De functie request_parse_body() is toegevoegd voor het parseren van HTTP-verzoeken met de inhoudstype multipart/form-data (RFC1867).

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster