Anzeige
Anzeige
Analyse
Artikel merken

PHP in 2021: Darauf können Entwickler jetzt bereits gespannt sein

PHP hat mit Version 8.0 erst kürzlich ein Major Update erhalten. Das sind die bisher bekannten Pläne für die Weiterentwicklung der Programmiersprache.

2 Min. Lesezeit
Anzeige
Anzeige

PHP hat seit seiner ersten Inkarnation im Jahr 1994 viel Veränderung erfahren. (Foto: Photovibes/Shutterstock)

1994 von Rasmus Lerdorf entworfen, war die erste Inkarnation PHPs nicht mehr als eine Reihe von CGI-Binaries, geschrieben in der Programmiersprache C. Im Verlauf der mittlerweile knapp 27-jährigen Existenz hat PHP zahlreiche Updates und Veränderungen durchlaufen. Das jüngste große Update: Der Release von PHP 8.0 in 2020 – mit Performanceverbesserungen, einem JIT-Compiler, Union-Types, named Arguments und einer ganzen Reihe Neuerungen mehr, die wir bereits ausführlich und zusätzlich in einer News zum Release-Date für euch beleuchtet haben. Laut erster Benchmarks scheinen sich neue Features wie JIT-Compiler und Preloading im Großen und Ganzen positiv auf die Performance auszuwirken.

Anzeige
Anzeige

Auch der PHP-Paketmanager Composer hat 2020 mit Version 2.0 ein großes Update mit einer Menge UX-Verbesserungen erhalten. Auch was die Performance angeht, hat das Tool im Vergleich zur Vorversion ordentlich zugelegt: Installationen sollen mit bis zu dreifacher Geschwindigkeit durchgeführt werden können.

Für Ende 2021 angesetzt: PHP 8.1

Das Core-Team um die Programmiersprache arbeitet bereits mit Hochdruck an Version 8.1, die voraussichtlich Ende 2021 erscheinen soll. Unter den bisher bekannten Neuerungen sind zwei besonders erwähnenswert: Sogenannte Enums und sogenannte Fibers.

Anzeige
Anzeige

PHPs Typensystem bekommt Enums

Diese in Kraft tretende Neuerung betrifft PHPs Typensystem. Eine Enum ist ein Variablentyp mit einer festgelegten Anzahl an vom Entwickler festgelegten Values. Diese Values, auch Enumeratoren genannt, verhalten sich wie Konstanten, das heißt, sie werden während der Ausführung eines Programms nicht verändert. Einer Variable, die als Enum declared wurde, kann jeder dieser Values – oder Enumeratoren – zugewiesen werden.

Anzeige
Anzeige

So sehen sie aus:

enum Status
{
case DRAFT;
case PUBLISHED;
case ARCHIVED;
}

Die Values eines Enums sind konstant und können typisiert werden:

Anzeige
Anzeige
class BlogPost
{
public function __construct(
public Status $status,
) {}
}

Via:

$post = new BlogPost(Status::DRAFT);

wird die Enum erstellt und an Blogpost übergeben.

Was das Typensystem angeht, gibt es noch eine weitere Neuerung: den never-Type, der verwendet werden kann, um anzuzeigen, dass eine Funktion ein Programm tatsächlich stoppt. Gerade für statische Analyse-Tools ist das Feature hilfreich.

Anzeige
Anzeige

Asynchrone Anwandlungen: Fibers

Mit dem für November angesetzten nächsten Release soll PHP Coroutines bekommen, auch Green Threads oder Fibers genannt. Obwohl es um den RFC einigen Buzz gab, ist das Feature wohl nicht so bahnbrechend, wie es vielleicht zunächst den Anschein hat. Warum? Fibers sind nicht dazu gedacht, direkt im Code einer PHP-App verwendet zu werden, so der Text des RFC, sondern stellen vielmehr eine Low-Level-API zur Flow-Steuerung. Im Code einer Anwendung sollen dann lediglich die resultierenden Abstraktionen verwendet werden.

Nichtsdestotrotz nimmt das Interesse an Frameworks für die asynchrone Ausführung von PHP zu: Amphp und React PHP bekommen Zulauf. Erst kürzlich gab außerdem Laravel Pläne für integrierte Unterstützung für Swoole bekannt, wie die beiden erstgenannten ein weiteres Framework für asynchrones PHP.

Es bleibt spannend

Wir bleiben gespannt auf die weiteren Pläne für Version 8.1. Für einen Deepdive zu den genannten und allen weiteren bisher bekannten geplanten neuen Features und allen weiteren Entwicklungen der jüngsten Zeit sei euch in der Zwischenzeit der Blog von PHP-Entwickler Brent Roose ans Herz gelegt. Übrigens: Wer seine Projekte aus Scheu vor dem Zeitaufwand bisher nicht auf Version 8.0 updaten wollte – laut seiner Aussage ist der damit verbundene Aufwand mit circa einer Stunde pro Projekt wirklich überschaubar.

Mehr zu diesem Thema
PHP
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Ein Kommentar
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Louis

Im Screenshot/Thumbnail sollte mit isset() zunächst geprüft werden, ob die entsprechenden Indexe im $_POST Array gefüllt sind, bevor man auf diese zugreift. Sonst hagelt es Warnings.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige