PHP 7, een revolutionaire release

Het PHP-development team heeft vandaag de onmiddellijke beschikbaarheid van versie 7 aangekondigd. Dit is een enorme milestone in de ontwikkeling van PHP.

Meer dan 10 jaar geleden werd PHP 5.0 gereleased en versie 6 draaide uit op een dead end. De laatste versie in de 5.x reeks, die we ook bij Intracto gebruiken, is 5.6. Deze werd gereleased in augustus vorig jaar en is meteen ook de enige versie die momenteel nog wordt voorzien van bug- en security fixes.

 

Ondersteunde PHP versies

 

Als PHP-developer wil je van Sinterklaas uiteraard niets liever dan een nieuwe major versie van je geliefde programmeertaal.

php7.jpg

 

Frameworks

 

Deze maand is op zijn minst speciaal te noemen. Naast PHP 7 brengen een aantal grote PHP-projecten ook major releases uit. Dit zijn stuk voor stuk versies waar jaren werk in is gekropen. Zowel Drupal 8, Magento 2, Symfony 3.0 en Symfony 2.8 (LTS) zijn gereleased. Deze hebben allemaal ondersteuning voor PHP 7, een duidelijk signaal dat de community als één blok achter deze nieuwe versie staat.

Ook oudere projecten volgen. Zo hebben alle actieve versies van Symfony 2 reeds ondersteuning voor PHP 7. Voor Drupal 7 is momenteel nog geen ondersteuning klaar, maar hier wordt wel aan gewerkt. WordPress heeft ook al lange tijd ondersteuning voor 7.

Bij Intracto zullen we klaar zijn om projecten naar deze nieuwe versie te brengen. We hebben dit samen met onze hosting providers voorbereid en kijken ernaar uit!

 

Snelheid

 

PHP 7 heeft een nieuwe versie van de Zend Engine aan boord. De meest belangrijke wijziging in deze versie is de verbeterde snelheid.

PHP 7 is vaak dubbel zo snel dan PHP 5.6 en halveert het geheugengebruik. Dit zijn metingen op real-life applicaties en niet op de berekening van een of ander zwaar wiskundig algoritme dat jouw website toch niet gebruikt.

PHP 5 vs 7 benchmarks

Je kan je terecht afvragen hoe men tot deze drastische verbetering in staat is geweest. Het is namelijk niet zo dat de oude releases verschrikkelijk traag waren.

Een en ander is in gang gezet naar aanleiding van Facebook die een eigen PHP-implementatie gebouwd heeft, genaamd HHVM. Deze implementatie wordt ondertussen gebruikt door een paar grote jongens. Ik denk maar aan Facebook zelf, WikiPedia, Baidu, Etsy, ...

Naargelang de use case is HHVM soms iets sneller of iets trager dan PHP 7, maar op dit moment liggen ze zeer dicht bij elkaar, met een licht voordeel voor PHP 7.

 

Features

 

Naast de performance verbeteringen zijn er een aantal leuke language features toegevoegd. De meest noemenswaardige is de toevoeging van scalar type declarations, die je de mogelijkheid geven om strict types te gebruiken bij argument en return type declarations.

Verder is er gesleuteld aan de error handling waardoor een aantal fatal errors nu als Exception behandeld kunnen worden. Developers kunnen tevens gebruik maken van anonieme classes en hebben twee gloednieuwe operators ter beschikking: ?? en <=>. En nog meer van dat snoepgoed.

Er werd ook zwaar gesnoeid in de oude SAPI's en extensies. Alles wat deprecated was in de laatste releases werd in versie 7 gedelete.

Alle technische details kan je vinden in de PHP 7 migration guide van php.net.

 

Toekomst

 

Het PHP-verhaal stopt natuurlijk niet met versie 7.0.0.

Er wordt nu al hard gewerkt aan versie 7.1, waar reeds een aantal RFC's voor zijn goedgekeurd. Ook enkele performance verbeteringen die het niet gehaald hebben voor 7.0 zullen in de volgende versies opgenomen worden. En, HHVM staat natuurlijk ook niet stil.

Een beetje gezonde competitie op dit vlak juichen we zeker toe!

Meer weten? Contacteer ons!