Sortie en fanfare en décembre 2015, cette seconde mise a jour du PHP 7.0 accroît fortement les performances des versions précédentes, notamment au travers de plusieurs améliorations en matière de sécurité. Ainsi, l'algorithme Argon2 qui sert au hachage sécurisé des mots de passe corrige les défauts des algorithmes actuels. Celui-ci permet notamment un taux de remplissage plus élevé de la mémoire. PHP 7.2 intègre désormais dans son noyau la bibliothèque de cryptographie Libsodium, utilisée pour le chiffrement authentifié, est désormais une extension de base et les performances de la bibliothèque pour la cryptographie sur les courbes elliptiques ont été améliorées.
Par ailleurs, les constantes SSL/TLS (Secure Sockets Layer/Transport Layer Security) ont été améliorées. Enfin, la bibliothèque de chiffrement Mcrypt a été supprimée. Les développeurs de PHP estiment que l’extension Mcrypt a freiné la croissance du langage PHP et l’a déclassé en logiciel abandonné ou « abandonware »
... Et aussi de programmation
La conversion des clés numériques dans les distributions objet/tableau résout un problème rencontré avec le moteur open source Zend Engine qui fait tourner PHP 7. Dans certaines situations, les tables de hachage de tableaux pouvaient contenir des chaînes numériques alors que les tables de hachage d'objets pouvaient contenir des clés entières, ce qui empêchait le code PHP de retrouver les clés. Le correctif apporté par PHP 7.2 convertit les clés des tables de hashage des tableaux et des tables de hachage des objets sont converties dans les bons formats, de sorte que les chaînes de format numériques personnalisées sont traduites en clefs entières, résolvant le problème d’inaccessibilité.
Les typages explicites d'objets ou « type hints » corrigent une situation dans laquelle un développeur ne peut pas déclarer une fonction supposée recevoir un objet en tant que paramètre ou déclarer qu'une fonction doit retourner un objet. Le correctif utilise l'objet comme type de paramètre et type de retour. HashContext en tant qu'objet, migre l'extension de hachage pour utiliser une extension objet pour les contextes de hachage au lieu d'utiliser des ressources. A noter aussi une nouvelle alerte ajoutée pour l'appel de la fonction count avec un paramètre scalaire ou nul, ou un objet qui n'implémente pas l'interface « Countable »
La mise à jour PHP 7.2 est téléchargeable sur le site php.net.
Commentaire