Abo
  • Services:
Anzeige
PHP-Maskottchen: eine Herde Elephpants
PHP-Maskottchen: eine Herde Elephpants (Bild: Cal Evans/Flickr.com/CC-BY-SA 2.0)

Webprogrammierung: PHP 7.1 erweitert Nullen und das Nichts

PHP-Maskottchen: eine Herde Elephpants
PHP-Maskottchen: eine Herde Elephpants (Bild: Cal Evans/Flickr.com/CC-BY-SA 2.0)

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.

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.

Anzeige

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.


eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. Birkenstock GmbH & Co. KG Services, Neustadt (Wied)
  2. Dr. August Oetker Nahrungsmittel KG, Bielefeld
  3. Württembergische Versicherung AG, Stuttgart
  4. echion Corporate Communication AG, Augsburg


Anzeige
Top-Angebote
  1. für 699€ statt 799€
  2. 158€ (Vergleichspreis 202€)
  3. 83,99€ (Vergleichspreis 111€)

Folgen Sie uns
       


  1. Microsoft

    Netzteil des Surface Book 2 ist zu schwach

  2. Lösegeld

    Uber verheimlicht Hack von 60 Millionen Kundendaten

  3. Foxconn

    Auszubildende arbeiteten illegal am iPhone X

  4. Meg Whitman

    Chefin von Hewlett Packard Enterprise tritt ab

  5. Fitbit Ionic im Test

    Die (noch) nicht ganz so smarte Sportuhr

  6. Rigiet

    Smartphone-Gimbal soll Kameras für wenig Geld stabilisieren

  7. Tele Columbus

    1 GBit würden "gegenwärtig nur die Nerds buchen"

  8. Systemkamera

    Leica CL verbindet Retro-Design mit neuester Technik

  9. Android

    Google bekommt Standortdaten auch ohne GPS-Aktivierung

  10. Kabelnetz

    Primacom darf Kundendaten nicht weitergeben



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Gaming-Smartphone im Test: Man muss kein Gamer sein, um das Razer Phone zu mögen
Gaming-Smartphone im Test
Man muss kein Gamer sein, um das Razer Phone zu mögen
  1. Razer Phone im Hands on Razers 120-Hertz-Smartphone für Gamer kostet 750 Euro
  2. Kiyo und Seiren X Razer bringt Ringlicht-Webcam für Streamer
  3. Razer-CEO Tan Gaming-Gerät für mobile Spiele soll noch dieses Jahr kommen

Firefox 57: Viel mehr als nur ein Quäntchen schneller
Firefox 57
Viel mehr als nur ein Quäntchen schneller
  1. Mozilla Wenn Experimente besser sind als Produkte
  2. Firefox 57 Firebug wird nicht mehr weiterentwickelt
  3. Mozilla Firefox 56 macht Hintergrund-Tabs stumm

Windows 10 Version 1709 im Kurztest: Ein bisschen Kontaktpflege
Windows 10 Version 1709 im Kurztest
Ein bisschen Kontaktpflege
  1. Windows 10 Microsoft stellt Sicherheitsrichtlinien für Windows-PCs auf
  2. Fall Creators Update Microsoft will neues Windows 10 schneller verteilen
  3. Windows 10 Microsoft verteilt Fall Creators Update

  1. Einmal mit Profis... (kt)

    katze_sonne | 10:40

  2. Nerds von heute wollen gar kein GBit/s ..

    senf.dazu | 10:39

  3. Bekommt sicher eine gewaltige Abfindung...

    DooMRunneR | 10:39

  4. Re: Also ich, Entwickler, Nerd, 23, Single bin...

    SJ | 10:39

  5. Re: Wie verblödet muss man sein ...

    Rufus20 | 10:38


  1. 10:16

  2. 09:41

  3. 09:20

  4. 09:06

  5. 09:03

  6. 07:38

  7. 20:00

  8. 18:28


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel