/ OSS / Webprogrammierung: PHP 7.1 erweitert Nullen und das Nichts

Webprogrammierung: PHP 7.1 erweitert Nullen und das Nichts

124880-131320-i_rc.jpg
Gerfried Steube an Dezember 5, 2016 - 4:12 pm in OSS

Zusätzlich zu internen Veränderungen, die die Sprache deutlich beschleunigt haben, brachte Version 7 von PHP viele Neuerungen im Umgang mit dem Typsystem der Sprachen. In dem ersten großen Sprachupdate, PHP 7.1, erweitert die Entwicklergemeinde Letzteres um Funktionen, die so auch aus anderen Sprachen bekannt sind. Dazu gehört etwa der explizite Verzicht auf einen echten Rückgabewert.


Null und Void

So gehört zu den sogenannten Typehints künftig auch das Schlüsselwort void. Während etwa ein Typehint für den Datentyp int angibt, dass der Typ des betreffenden Rückgabewerts eben eine Ganzzahl sein soll, gibt der Typehint void an, dass die Funktion eben nichts zurückgibt, sondern ausschließlich prozedural ist.

Wie in C und C++ kann aus einer Methode durch die Angabe von return; zurückgekehrt werden, ebenso kann auf diese Angabe verzichtet werden. Sinnvoll sei die Verwendung von void vor allem für Dokumentationszwecke und zur Fehlerüberprüfung. Immerhin macht es deutlich, „dass eine Funktion eine Aktion ausführt, anstatt ein Ergebnis zu erzeugen“.

Bisher hatte PHP außerdem unter Umständen noch Probleme bei Rückgabewerten, die keinen Standardwert haben. Deshalb hat das Team eine einheitliche Syntax eingeführt, um anzuzeigen, dass der Wert eben auch null sein kann. Dies ist mit Version 7.1 für alle erlaubten Typen möglich, indem den Typen ein Fragezeichen vorangestellt ist, also etwa ?int.

Iterierbare Typen und Zugriffskontrollen für Konstanten

Als sogenannter Pseudotyp hinzugekommen ist das Schlüsselwort iterable, denn bisher gab es „keine Möglichkeit, eine Typdeklaration für einen Parameter oder einen Rückgabetyp zu verwenden, um anzugeben, dass der Wert iterierbar ist“, also mit der Anweisung foreach genutzt werden kann. Genau das kann mit Hilfe von iterable nun aber explizit angegeben werden.

Ebenso klar an die Funktionsweise von C und C++ angelehnt ist die neue Zugriffsmodifikation, die neben Funktionen künftig auch für Klassenkonstanten genutzt werden kann. Das Team löse damit eine bisher existierende Inkonsistenz einfach auf. Als Schlüsselworte dazu können public, protected und private genutzt werden. Konstanten, die ohne Schlüsselwort deklariert werden, sind wie bisher auch immer public.

Neu in PHP 7.1 ist außerdem eine an Arrays angelehnte Syntax mit eckigen Klammern für Listen sowie das Festlegen von Keys zu den Werten in der Liste, das Zusammenlegen mehrerer Ausnahmen für eine gemeinsame Ausnahmebehandlung oder auch die Möglichkeit, AEAD-Modi für bestimmte Chiffren über die OpenSSL-Anbindung aus PHP heraus zu nutzen. Weitere Details finden sich in den Release Notes.

Read more on: Source

Kommentare sind deaktiviert