Original-URL des Artikels: https://www.golem.de/news/programmiersprache-php-8-bekommt-jit-compiler-und-union-type-2002-146459.html    Veröffentlicht: 05.02.2020 14:17    Kurz-URL: https://glm.io/146459

Programmiersprache

PHP 8 bekommt JIT-Compiler und Union Type

Mit der kommenden Version 8 von PHP soll die Sprache dank eines JIT-Compilers deutlich leistungsfähiger werden. Mit Hilfe von Union Types und Static Return Types soll der Umgang mit Typen vereinfacht werden.

Der PHP-Entwickler Brent Roose hat in seinem Blog einige wichtige Funktionen vorgestellt, die das Entwicklungsteam der Programmiersprache für die kommende Version 8 plant. Sie soll noch Ende dieses Jahres erstmals stabil veröffentlicht werden. Roose weist zwar darauf hin, dass sich PHP 8 noch aktiv in der Entwicklung befinde und sich deshalb noch ändern könne. Über die Mehrheit der von ihm vorgestellten Neuerungen hat das Team aber bereits abgestimmt, so dass diese für PHP 8 feststehen.

Dazu gehört unter anderem der JIT-Compiler. Die Arbeiten daran reichen bereits Jahre zurück und Details dazu hatte das Team schon vor rund einem Jahr genannt. Demnach ist die Umsetzung der JIT-Engine wohl aus Sicht der Entwickler die derzeit beste Möglichkeit, die Leistung von PHP doch noch weiter steigern zu können. Roose selbst stellt ebenfalls einige weiterführende Details zu der JIT-Engine von PHP bereit.

Weitere Arbeit am Type-System

Weiter verbessert werden soll mit PHP 8 auch das Typsystem der Sprache. Eigentlich nutzt PHP eine dynamische Typisierung, das heißt Entwickler müssen Datentypen nicht explizit angeben. Vor allem mit PHP 7 hat das Team dieses Paradigma aber weiter aufgebrochen und unterstützt nun auch die sogenannten skalaren Type-Hints.

Mit der kommenden Version soll PHP darüber hinaus auch sogenannte Union-Types unterstützten, also einen Verbund mehrere Typen, wobei diese jeweils in einer Methode verwendet werden können. Als konkretes Beispiel nennt Roose etwa eine Methode, die als Eingabe eine Union aus Int und Float akzeptiert mit entsprechenden Rückgabetypen. Auch andere Programmiersprachen wie C, C++ und Rust unterstützt Unions. Neu in PHP 8 ist außerdem die Unterstützung für Static Return Types. Zusätzlich zu parent und self kann damit auch static als Rückgabewert genutzt werden.

Eine Vielzahl weiterer Funktionen listet Roose in seinem Blog auf. Dazu gehören auch einige Breaking Changes, also Veränderungen, die nicht abwärtskompatibel sind.

 (sg)


Verwandte Artikel:
Programmiersprache: PHP 8 bekommt JIT-Engine   
(01.04.2019, https://glm.io/140371 )
Ransomware: Nextcry hat es auf Nextcloud-Installationen abgesehen   
(19.11.2019, https://glm.io/145077 )
Programmiersprache: Ruby 2.6 erscheint mit experimentellem JIT-Compiler   
(27.12.2018, https://glm.io/138403 )
Laminas: Linux Foundation führt Zend Framework weiter   
(23.04.2019, https://glm.io/140821 )
Programmiersprache: Vorschau auf Ruby 2.6 bringt JIT-Compiler   
(04.06.2018, https://glm.io/134745 )

© 1997–2020 Golem.de, https://www.golem.de/