PHP 8 die nächste Major-Version
September 23, 2020 •Admin
Einleitung
Am 26. November 2020 soll laut Zeitplan die neue PHP-Major-Version veröffentlich werden. Diese wird den Namen PHP 8 tragen. Es wird auch wieder zahlreiche neue Features geben. Zwei dieser Features möchte ich heute vorstellen.
Union Types
Union Types akzeptieren Werte von unterschiedlichen Typen. Ein Union Type kann z. B. mit einem Integer- als auch einen Float-Wert typisiert werden. Bereits in der Version 7.1 gab es die ersten Möglichkeiten eines Union Types. Dort wurden die sogenannten Nullable Types eingeführt. Damit ist es möglich, dass ein Rückgabewert oder eine Typdeklaration eines Parameters sowohl Null, als auch den angegebenen Typen akzeptiert. Parameter und Rückgabewerte mit dem Nullable Type erkennt man an einem vorangestellten „?“.
function bar(?string $foo):? string { return $foo; }
Ebenso wurde der Pseudotyp „iterable“ eingeführt. Ein Iterable kann sowohl ein Array, als auch ein Object mit dem Interface Traversable sein.
function foo(iterable $iterable) { foreach ($iterable as $value) { // ... } }
Hier ist noch ein weiteres Beispiel wie in PHP8 der Union Type umgesetzt wurde. Hierfür müsst Ihr den Wert angeben, gefolgt von einer Pipe.
function foobar(): float|int { return 1.0; }
Named Arguments
Ein weiteres Feature in der nächste PHP-Version nennt sich ‚Named Arguments‘. Aber was genau machen diese? Anstatt Argumente anhand Ihrer Position zu übergeben, ist es jetzt möglich diese über Ihren Namen zu übergeben. Dadurch wird der Code leserlich, da wir direkt sehen können, welcher Wert an welchen Parameter übergeben wird. Das ermöglicht uns bei Funktionen mit beispielsweise 10 Default Argumenten, dass wir diese direkt überspringen können und unser eigentlich Argument direkt über den Namen adressieren können. Siehe dazu auch folgendes Beispiel.
// Vorher gmmktime(gmdate("H"), gmdate("i"), gmdate("s"), gmdate("n"), gmdate("j"), 2021); // Nacher gmmktime(year: 2021);
Schlusswort
Wer es nicht abwarten kann und schon sofort die neuen Features testen will, kann die aktuelle Beta 3 auch direkt auf 3v4l.org ausprobieren. Eine Übersicht über alle Features findet ihr in dem folgenden Blogartikel stitcher.io.
Jetzt HDNET Blog abonnieren
Neueste Artikel
Kategorien
- 2013 (2)
- 2014 (1)
- 2015 (1)
- 2017 (1)
- 2018 (1)
- Abofalle (1)
- agil fibel (2)
- agile Arbeitsmethoden (3)
- Agile Entwicklung (1)
- Agile Methoden (1)
- agile starter kit (1)
- agiles Management (1)
- Akeneo (3)
- Allgemeines (61)
- analyse (1)
- Anbindung (1)
- Arbeitsweise (1)
- b2c (1)
- blicksta (1)
- Blog (1)
- Consulting (1)
- Continous integration (1)
- DDEV (1)
- Design Thinking (1)
- digital communication award (1)
- Digitale Portale (4)
- digitalisierung (3)
- digitalmarketing (10)
- DiP-Rezept (1)
- Diversity (2)
- Docker (1)
- DSGVO (3)
- Duales Studium (1)
- E-Commerce (29)
- eCommerce (6)
- Events (28)
- git (1)
- hdgroup intern (3)
- HDNET intern (46)
- HDNET Level Up (1)
- HDSAIL (1)
- Inditex (1)
- Individualentwicklung (3)
- innovation of the year (1)
- internet days (2)
- ipad (1)
- iphone (1)
- ISO9001 (1)
- IT (1)
- ITMW (1)
- jahresausblick (1)
- Javari (1)
- jqtouch (1)
- jquery mobile (1)
- Konzeption (4)
- Level Up (2)
- Mobile (2)
- Nerdecke (8)
- Online Marketing (35)
- PIM-Systeme (5)
- Portalentwicklung (10)
- praktikum (1)
- Prozessdigitalisierung (1)
- Schnittstelle (2)
- Scrum (2)
- TYPO3 (12)
- ui design (3)
- Ux (2)
- ux design (3)
- viewport (4)
- Webapplikationen (2)