PHP 7 Release: Belangrijkste Features & Wat Je Moet Weten
Als developer weet je waarschijnlijk dat de feature-complete bètaversie van PHP 7 beschikbaar is. Versie 7.0.0 introduceert veel coole features en functionaliteiten. Waarschuwing: gebruik het niet in productie tot de stabiele versie (verwacht november '15) uitkomt. Je mag vrij testen en bugs rapporteren.
Hieronder alle wijzigingen/upgrades in PHP 7.0.0.
16. Dit is PHP 7 (niet 6)
Huidige stabiele versie is 5.6. Veel developers verwachtten 6.0. Wat ze niet weten: PHP 6 bestond al als experimenteel proces, maar bereikte nooit productie. Core-team besloot de naam PHP 6 over te slaan voor de volgende major release.
15. 64-bit Windows Support
Huidige PHP biedt geen 64-bit integers of large file support. PHP 7 introduceert consistente 64-bit support: native 64-bit integers én large file support.
14. Verwijdering Verouderde Functies & Extensies
Hoofddoel PHP 7: geheugen vrijmaken voor verbetering. Oude, niet-ondersteunde server API's, extensies en deprecated functionaliteiten zijn verwijderd. Alles wat verwijderd is, was al lang niet meer in gebruik. Let op: legacy apps op oudere versies kunnen breken bij upgrade naar PHP 7.
Lees ook: 30 Bug Tracking Tools voor Developers
13. Group Use Declaraties
RFC om namespace-implementatie te verbeteren via grouped declarations. Handig voor developers die veel klassen uit dezelfde namespace importeren. Nieuwe syntax vermindert verbosity, maakt code netter, bespaart typwerk.
12. Anonieme Klassen
Concept uit Java en C#. Een klasse zonder naam die coding- en uitvoeringstijd versnelt. Gebruik wanneer een klasse maar één keer gebruikt wordt tijdens uitvoering en niet gedocumenteerd hoeft te worden.
11. Uniform Variable Syntax
Lost inconsistenties op in expressie-evaluatie. Bijv. closure aanroepen via ($object->closureProperties)() en chaining van statische calls. Oud: $obj->$properties['name'] toegang tot property wiens naam in 'name' key zit. Nieuw: toegang tot 'name' key van de property wiens naam in $properties zit.
10. Unicode Codepoint Escape Syntax
Nieuwe escape karakters \u voor Unicode codepoints (hex) in strings. Handig voor emoji's die je niet kunt typen.
9. Gedeelde Parent Class in Exception Handling
Fatale en vangbare fatale errors waren lastig af te vangen. Nieuwe Engine Exceptions vervangen dit. Om zowel traditionele als engine exceptions te vangen, introduceert PHP 7 \BaseException als gedeelde parent class.
8. Bind Closure on Call
Closure::bind() en Closure->bindTo() wijzigen binding van $this en calling scope. PHP 7 voegt Closure->call() toe: bind beide in één keer aan hetzelfde object bij aanroep. Eerste argument = object, daarna argumenten voor de closure.
7. Null Coalesce Operator
Operator ??. Retourneert eerste operand als die bestaat en niet NULL is, anders tweede operand. Veilig: geen E_NOTICE als waarde niet bestaat.
6. Combined Comparison Operator (Spaceship Operator)
<=> gedraagt zich als version_compare() of strcmp(), maar werkt op alle generieke PHP-waarden. Bestaat in Ruby/Perl. Retourneert -1 (links kleiner), 0 (gelijk), 1 (links groter).
5. Generator Return Expression & Generator Delegation
Return expression: retourneer waarde na succesvolle voltooiing generator. $generator->getReturn() haalt waarde op. Exception als generator nog niet retourneerde/uncaught exception gooide. NULL als voltooid zonder return.
Delegation: retourneer een andere iterable structuur (iterator, array, generator) die getraverseerd wordt door de outermost loop (geen recursie).
4. Return Type Declaraties
Veel programmeurs willen return type van functie declareren. Voorkomt onbedoelde return values/subtypes die supertype breken, vooral in interfaces. PHP 7 voegt 4 scalar type declaraties toe: string, int, float, bool. Verwachte return types specificeren.
3. Abstract Syntax Tree (AST)
Grootste onzichtbare verandering: AST – intermediaire representatie van code tijdens compilatie. Vervangt directe opcode-emissie vanuit parser. Verwijdert hacks, maakt implementatie begrijpelijker/onderhoudbaarder. Syntaxis mogelijk die niet haalbaar was met single-pass compilatie.
2. De Nieuwe Zend Engine
Eerste Zend Engine (1999, PHP 4): open source scripting engine (C) die PHP interpreteert. Huidige: Zend Engine II (geheugenbeheer, resource management, extensibel objectmodel, prestatieboost). Nieuwe: Zend Engine III (codenaam phpng), ontwikkeld voor PHP 7.
1. Prestaties + Geheugenbesparing
Hoofdredenen om te upgraden. Goed nieuws voor kleinere hosts: meer klanten op zelfde hardware. Prestaties op niveau met Facebook HHVM (JIT compiler: compilatie runtime). Substantiële geheugenbesparing door geoptimaliseerde interne datastructuren.
Volgens Zend-grafiek: WordPress request op PHP 5.6 = <100M CPU instructies; PHP 7 = 25M voor zelfde taak. 3x Magento transacties op zelfde hardware. Drupal 8 draait 72% sneller op PHP 7.
Aanbevolen: 30 Geweldige PHP Libraries voor Programmeurs
Industriële technologie
- Missouri Enterprise lanceert uitgebreide Covid-19-veiligheidsproducten- en dienstenmap voor werkgevers
- 14 toonaangevende Nvidia-alternatieven en concurrenten in 2026
- CoroDrill® 880: Precisie Boren van Lichtgewicht Metalen
- Een AFCI-automaat installeren: Complete bedradingshandleiding voor eensfasige systemen
- Quick Return Mechanisme: Definitie, Types, Werkingsprincipe & Toepassingen – Voordelen, Nadelen (PDF Handleiding)
- Essentiële afwerkingstechnieken voor precisiegemachineerde componenten – Deel 2
- Cyberdreigingen Publieke Sector: 10 Bewezen Strategieën om Uw Data te Beschermen
- Temperatuurregelaar voor soldeerbout: DIY-schakeling met DIAC/TRIAC
- 14 Expert Tips voor het Ontwerpen, Programmeren en Testen van PCB's
- Stroomlijn schoolonderhoud met een CMMS-gestuurd werkordersysteem
- Draadfrezen 101: Proces, Voordelen & Hoe het Tappen Overtreft – Een CNCLATHING Gids