PHP 7.4 devrait probablement être rendu disponible en décembre 2019. Alors voici quelques nouveautés qui pourraient faire leur apparition dans la nouvelle version :
Preloading
PHP a fait de grands progrès en ajoutant de puissantes fonctionnalités au cours des dernières années. Le moteur de PHP (Zend engine 3) a par été largement réécrit pour être beaucoup plus rapide que les versions précédentes. PHP 7.0 a apporté des gains de performance avec un moteur Zend Engine jusqu'à deux fois plus rapide que dans la version 5.6. La version 7.1.0 du langage de développement Web côté serveur a également suivi avec de nouvelles fonctionnalités et encore des gains de performances : jusqu’à 35 % plus rapide pour les charges de travail avec une utilisation intensive du CPU.
Une nouvelle fonctionnalité devrait améliorer davantage la performance de PHP. Si vous utilisez un framework, ses fichiers doivent être chargés et recompilés pour chaque requête. Le Preloading permet au serveur de charger les fichiers PHP sur la mémoire au démarrage, et les rendre disponibles en permanence pour toutes les requêtes ultérieures. Seul bémol, si la source des fichiers préchargés change, il faudra redémarrer le serveur.
Typed properties
Les variables de classe peuvent être indiquées :
Code : | Sélectionner tout |
1 2 3 4 5 6 | class A { public string $name; public Foo $foo; } |
Il sera possible d’utiliser des types de retour covariants :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class ParentType {} class ChildType extends ParentType {} class A { public function covariantReturnTypes(): ParentType { /* … */ } } class B extends A { public function covariantReturnTypes(): ChildType { /* … */ } } |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | class A { public function contraVariantArguments(ChildType $type) { /* … */ } } class B extends A { public function contraVariantArguments(ParentType $type) { /* … */ } } |
Foreign Function Interface
Foreign Function Interface (FFI) permet de faire appel à du code C à partir de l’espace utilisateur (userland). Cela veut dire que les extensions PHP peuvent être écrites en PHP. Cependant, il faudra maitriser C pour utiliser correctement cette fonctionnalité.
Null Coalescing Assignment Operator
Peut-être traduit en : Opérateur d'assignation coalescente nulle, il permet de faire ça:
Code : | Sélectionner tout |
$data['date'] ??= new DateTime();
Code : | Sélectionner tout |
$data['date'] = $data['date'] ?? new DateTime();
ext-hash toujours activé
Cette extension est maintenant disponible en permanence dans toutes les installations de PHP.
Password Hashing Registry (Registre de hachage de mots de passe)
Modifications internes de la façon d’utilisation des bibliothèques de hachage, de sorte qu'il devient plus facile pour l'utilisateur de les utiliser.
Source : stitcher
Et vous ?
Qu’en pensez-vous ?
Quelles versions de PHP utilisez-vous ?
Quelles sont les fonctionnalités que vous appréciez le plus ?
Voir aussi
W3Tech : plus de 60 % des sites Web tournent sur PHP 5.x, une version qui ne sera plus supportée après le 31 décembre 2018
PHP 7.3 est disponible en version stable, un aperçu des nouveautés du langage de programmation côté serveur
Les benchmarks réalisés sur la dernière préversion de PHP 7.3 sont prometteurs, et la sortie de la version stable se profile à l'horizon