PHP 7 is er!


Op de valreep van 2015 gebeurt er nog iets moois voor alle ontwikkelaars: PHP 7 is er!
We keken allemaal al een tijdje uit naar een nieuwe versie van deze programmeertaal. Deze beloofde namelijk een betere performance. Maar PHP 7 belooft echter nog meer verbeteringen.

Supersnelle PHP Next Generation engine

PHP is een populaire programmeertaal voor het ontwikkelen van websites. Deze populariteit heeft PHP 7 met name te danken aan de veelzijdigheid. Er zit een hele community van ontwikkelaars achter, die voortdurend bezig is met de doorontwikkeling.
Nu is dus versie 7 uit. De sterk verbeterde performance is te danken aan de PHP Next Generation Engine. Deze volgt de huidige Zend Engine op en zou circa tweemaal sneller zijn dan bij de vorige versie, PHP 5.6.

Scalar type hints

In deze nieuwe versie wordt gewerkt met scalar type hints. Van origine is PHP een ‘loosely typed language’. Dit betekent dat variabelen niet met strikte datatypes gedeclareerd worden, zodat een variabele, in de loop van een script, een waarde van een ander type kan bevatten dan de oorspronkelijke waarde. Dat maakt PHP enorm flexibel, maar soms ook onbetrouwbaar omdat fouten niet meteen gemeld worden. Daarom werden na verloop van tijd de type hints ingebouwd: voldoet een waarde niet aan de type hint, dan wordt een waarschuwing weergegeven. Mooi, maar deze typehints waren tot nu toe beperkt tot objecten, arrays en de zogenaamde callables.

PHP 7 bevat nu ook scalar type hints: voortaan kunnen ook integers, floats, booleans en strings voorzien worden van type hints. Ook return type declarations worden ondersteund. Dit kan zorgen voor een consistente output van functies en methods.

Nieuwe operators

PHP 7 kent enkele nieuwe operators: de null coalesce operator en de space ship operator.

De eerste is een zogenaamde ‘ternary operator’ die nagaat of de geëvalueerde waarde bestaat en geen null is. Wanneer dit het geval is wordt de waarde geretourneerd, indien niet wordt een alternatieve waarde geretourneerd.

De space ship operator laat toe om te bepalen of een waarde groter, kleiner of gelijk is aan een andere waarde. Dit wordt uitgedrukt met 0 (gelijk aan), -1 (kleiner dan), of 1 (groter dan).

Anonymous classes

En dan zijn er nog de classes. In het object georiënteerd model van PHP worden classes expliciet gedeclareerd en later expliciet geïnstantieerd naar objecten. Vanaf PHP 7 is het mogelijk om anonymous classes te declareren. Dit zijn classes die on-the-fly gedeclareerd worden, vergelijkbaar met anonymous functions ( ~ callbacks) die al een eindje in PHP 5 beschikbaar zijn.

Is PHP 6 overgeslagen?

Deze nieuwste versie heet PHP 7. De laatste versie heette PHP 5.6. Is PHP 6 overgeslagen? PHP 6 is ooit bedoeld om volledige Unicode support te bieden. Dit bleek echter een onhaalbare doelstelling, waardoor PHP 6 nooit gelanceerd is. Andere features werden opgenomen in PHP 5.3.

Bron en met dank aan:
Thijs Feryn, evangelist bij Combell