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. TUI InfoTec GmbH, Hannover
  2. Schwarz Business IT GmbH & Co. KG, Neckarsulm
  3. Made in Office GmbH, Köln
  4. TUI Cruises GmbH, Hamburg


Anzeige
Top-Angebote
  1. (50% Rabatt!)
  2. 219,00€ (Bestpreis!)
  3. (u. a. Gear VR 66,00€, Gear S3 277,00€)

Folgen Sie uns
       


  1. Quantenalgorithmen

    "Morgen könnte ein Physiker die Quantenmechanik widerlegen"

  2. Astra

    ZDF bleibt bis zum Jahr 2020 per Satellit in SD verfügbar

  3. Kubic

    Opensuse startet Projekt für Container-Plattform

  4. Frühstart

    Kabelnetzbetreiber findet keine Modems für Docsis 3.1

  5. Displayweek 2017

    Die Display-Welt wird rund und durchsichtig

  6. Autonomes Fahren

    Neues Verfahren beschleunigt Tests für autonome Autos

  7. Künstliche Intelligenz

    Alpha Go geht in Rente

  8. Security

    Telekom-Chef vergleicht Cyberangriffe mit Landminen

  9. Anga

    Kabelnetzbetreiber wollen schnelle Analogabschaltung

  10. Asus

    Das Zenbook Flip S ist 10,9 mm flach



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Quantencomputer: Nano-Kühlung für Qubits
Quantencomputer
Nano-Kühlung für Qubits
  1. IBM Q Mehr Qubits von IBM
  2. Quantencomputer Was sind diese Qubits?
  3. Verschlüsselung Kryptographie im Quantenzeitalter

XPS 13 (9365) im Test: Dells Convertible zeigt alte Stärken und neue Schwächen
XPS 13 (9365) im Test
Dells Convertible zeigt alte Stärken und neue Schwächen
  1. Prozessor Intel wird Thunderbolt 3 in CPUs integrieren
  2. Schnittstelle Intel pflegt endlich Linux-Treiber für Thunderbolt
  3. Atom C2000 & Kaby Lake Updates beheben Defekt respektive fehlendes HDCP 2.2

Calliope Mini im Test: Neuland lernt programmieren
Calliope Mini im Test
Neuland lernt programmieren
  1. Arduino Cinque RISC-V-Prozessor und ESP32 auf einem Board vereint
  2. MKRFOX1200 Neues Arduino-Board erscheint mit kostenlosem Datentarif
  3. Creoqode 2048 Tragbare Spielekonsole zum Basteln erhältlich

  1. Re: Kann ich mit Alditalk nicht bestätigen

    DerWeise | 15:17

  2. Re: Grauenvoller Test

    carcorpses | 15:16

  3. Re: Schadensersatzpflicht für fahrlässige...

    buuii | 15:16

  4. Re: Gibt es noch Menschen die Analog schauen

    jayrworthington | 15:15

  5. Re: E-Auto laden utopisch

    SJ | 15:14


  1. 14:21

  2. 13:56

  3. 12:54

  4. 12:41

  5. 11:58

  6. 11:25

  7. 10:51

  8. 10:50


  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