PHP 7.4 devrait être disponible vers la fin de cette année

PHP 7.4 devrait être disponible vers la fin de cette année jeudi, octobre 24, 2019

Voici un aperçu des nouveautés qui pourraient y figurer

PHP est utilisé par 78,9 % des sites de la toile, ce qui en fait l’un des langages de programmation côté serveur les plus utilisés. En décembre 2018, PHP 7.3 a été rendu disponible en version stable, apportant de nouvelles fonctionnalités et améliorations. Un mois plus tard, et des rapports ont déjà commencé à relayer les nouveautés de PHP 7.4, la prochaine itération du langage.

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 :    

class A
{
    public string $name;
   
    public Foo $foo;
}




Variation de type améliorée

Il sera possible d’utiliser des types de retour covariants :

class ParentType {}
class ChildType extends ParentType {}

class A
{
    public function covariantReturnTypes(): ParentType
    { /* … */ }
}

class B extends A
{
    public function covariantReturnTypes(): ChildType
    { /* … */ }
}




Cette proposition est actuellement en phase de vote, mais il apparait qu’elle devrait être approuvée sans soucis.


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 :

$data['date'] ??= new DateTime();

au lieu de ça :

Code :

$data['date'] = $data['date'] ?? new DateTime();



Cependant, le créateur de cette RFC n’a pas été en mesure de finir son implémentation. Il reste à savoir si un membre de l’équipe PHP core sera en mesure de la finir.


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.





« Retour