Webprogrammierung: PHP 7.1 erweitert Nullen und das Nichts

Die Version 7.1 der Programmiersprache PHP bringt neue Funktionen, die so ähnlich auch in vielen anderen Sprachen bereits genutzt werden können. Dazu gehören optionale Nullwerte, der Void-Rückgabewert und Zugriffskontrollen auf Klassenkonstanten über public und private.

Artikel veröffentlicht am ,
PHP-Maskottchen: eine Herde Elephpants
PHP-Maskottchen: eine Herde Elephpants (Bild: Cal Evans/Flickr.com/CC-BY-SA 2.0)

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


oxmyx 06. Dez 2016

"Ebenso klar an die Funktionsweise von C und C++ angelehnt ist die neue...

baermuda 06. Dez 2016

Und noch ne UI fällt mir ein. PHP mit GTK: http://gtk.php.net/

baermuda 06. Dez 2016

EDIT: Sry war zu blöd, die Kommentarfunktion richtig zu verwenden, sollte eine Antwort...

kayozz 05. Dez 2016

Da war doch mal was: https://owncloud.org/blog/php-7-is-here-and-owncloud-is-ready...



Aktuell auf der Startseite von Golem.de
Apple
Tim Cook muss kein Vision-Pro sein

Apple wird oft vorgeworfen, unter Tim Cook langweilig geworden zu sein. Aber braucht Apple wirklich Produkte wie das Vision Pro?
Ein IMHO von Tobias Költzsch und Daniel Ziegener

Apple: Tim Cook muss kein Vision-Pro sein
Artikel
  1. Point-to-Multipoint: Swisscom muss wegen Netztopologie Millionenstrafe zahlen
    Point-to-Multipoint
    Swisscom muss wegen Netztopologie Millionenstrafe zahlen

    Der kleine Internetanbieter Init7 hat einen Sieg gegen Swisscom errungen. Durch den Streit sind seit Jahren 500.000 fertige FTTH-Zugänge blockiert. Doch Init7 will symmetrische 25 GBit/s.

  2. Samsung Galaxy S22 360 Euro günstiger bei Amazon
     
    Samsung Galaxy S22 360 Euro günstiger bei Amazon

    Flaggschiff zum Mittelklassepreis: Amazon hat das Samsung Galaxy S22 über 40 Prozent reduziert. Auch Modelle aus der A-Serie sind günstiger.
    Ausgewählte Angebote des E-Commerce-Teams

  3. Headspace XR ausprobiert: Headset auf und Kopf aus
    Headspace XR ausprobiert
    Headset auf und Kopf aus

    Die Entwickler der Meditations-App gehen gen VR. Wir haben getestet, ob die App wirklich für Entspannung vom Homeoffice- oder Büro-Stress sorgt.
    Ein Test von Daniel Ziegener

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Gigabyte GeForce RTX 4070 Ti zum Tiefstpreis • MediaMarkt: Asus Gaming-Laptop 999€ statt 1.599€ • Anker USB-Ladegeräte -45% • OLED-TV von LG 54% günstiger • Gamesplanet Spring Sale [Werbung]
    •  /