Die Alpha-Testphase fĂŒr PHP 8.4 hat begonnen

Die erste Alpha-Version des neuen Zweigs der Programmiersprache PHP 8.4 wurde vorgestellt. Der Release ist fĂŒr den 21. November geplant. Zu den wichtigsten Neuerungen, die bereits zum Testen verfĂŒgbar sind oder in PHP 8.4 umgesetzt werden sollen, gehören:

  • Die UnterstĂŒtzung fĂŒr die Anheftung von Property Hooks wurde hinzugefĂŒgt, die es ermöglichen, zusĂ€tzliche Logik auszufĂŒhren, wenn auf Eigenschaften eines Objekts zugegriffen oder diese geĂ€ndert werden, ohne Lese- und Schreiboperationen ĂŒber die allgemeinen Funktionen __get und __set abzufangen und ohne zusĂ€tzliche Wrapper-Methoden zu erstellen. Der Einsatz von Property Hooks ermöglicht es, den Code erheblich zu reduzieren und das Überschreiben des Verhaltens bei der Arbeit mit Eigenschaften zu vereinfachen, indem ein eigener Handler an jede Eigenschaft gebunden wird. 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; } }
  • Es ist nun erlaubt, Methodenreferenzen in der "new"-Konstruktion ohne trennende Klammern anzugeben, d.h. anstelle von "$name = (new MyClass())->method()" kann jetzt "$name = new MyClass()->method()" angegeben werden.
  • Anstelle des allgemeinen Parameters „opcache.jit_buffer_size“ zur Steuerung des JIT-Compilers und zur Anpassung der JIT-PufferspeichergrĂ¶ĂŸe wurden die Parameter „opcache.jit“ und „opcache.jit_buffer_size“ vorgeschlagen. Um JIT zu deaktivieren, kann nun „opcache.jit=disable“ anstelle von „opcache.jit_buffer_size=0“ angegeben werden. DarĂŒber hinaus wurden Änderungen vorgenommen, die den Speicherverbrauch senken und die JIT-Leistung in bestimmten Situationen erhöhen.
  • Das Verhalten, bei dem fĂŒr Funktionsparameter mit einem standardmĂ€ĂŸig zugewiesenen Wert null automatisch die Zuweisung von Werten null erlaubt wurde, wurde als veraltet erklĂ€rt. Damit solche Parameter nun Werte null annehmen können, ist die explizite Angabe des PrĂ€fixes „?“ erforderlich. Beispielsweise sollte anstelle von „function save(Book $book = null) {}“ „function save(?Book $book = null) {}“ angegeben werden.
  • Die Klasse \Dom\HTMLDocument wurde implementiert, die eine korrekte Analyse der HTML5-Markup unterstĂŒtzt.
  • Die Funktion request_parse_body() wurde hinzugefĂŒgt, um HTTP-Anfragen mit dem Inhaltstyp multipart/form-data (RFC1867) zu analysieren.

Quelle: opennet.ru

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster