PHP 7.1 : la route vers PHP 7.2 et PHP 8.0

15 septembre 2016php, php-7.1
 Cet article a été rédigé il y a plusieurs années et peut ne plus être tout à fait à jour…

This post is also available in English.
Ceci est le dixième article d’une série à propos de PHP 7.1.


PHP 7.1 n’est que la seconde version mineure de la branche PHP 7, mais les esprits commencent déjà à penser à la suite : la version mineure suivante, PHP 7.2 ; et la prochaine version majeure, ce qui pourrait être PHP 8.0.


Des suppressions pour PHP 8.0

Il ne s’agit pas encore de réflexions très profondes dans le cœur du moteur, mais de commencer dès maintenant à ajouter quelques E_DEPRECATED ou E_NOTICE sur des fonctionnalités déconseillées de PHP 7.x, en vue de les supprimer pour PHP 8.0.

Option eval de mb_ereg_replace()

Le modificateur /e de la fonction preg_replace() a été supprimé avec PHP 7.0 (‣RFC), mais il est resté pour la fonction mb_ereg_replace().

Pour uniformiser, utiliser ce modificateur dangereux en PHP 7.1 pour les fonctions mb_ereg_replace() et mb_eregi_replace() lèvera désormais un avertissement de niveau E_DEPRECATED.

À la place, passez par la fonction mb_ereg_replace_callback().

Ce modificateur devrait ensuite être supprimé, pour PHP 8.0.

‣ La RFC : Deprecate mb_ereg_replace() eval option


La fin de mcrypt ?

L’extension mcrypt est basée sur une bibliothèque qui n’est plus maintenue depuis des années – ce qui est quelque peu problématique, considérant qu’elle est fortement liée à la sécurité !

Au moment de PHP 7.0, il avait donc été proposé de supprimer cette extension de PHP. Mais beaucoup de développeurs l’utilisant encore, cela n’avait finalement pas été fait.

Pour laisser plus de temps aux développeurs et rendre la migration moins abrupte, l’extension mcrypt sera marquée comme obsolète à partir de PHP 7.1 : l’utiliser mènera à des avertissements de niveau E_DEPRECATED.

L’extension mcrypt devrait ensuite être supprimée pour PHP 8.0.

‣ La RFC : Deprecate (then Remove) Mcrypt


Et pour PHP 7.2 ?

La sortie de PHP 7.1 approchant, cela fait plusieurs mois qu’il n’est plus possible d’ajouter de nouvelle fonctionnalité pour cette version.

Sans surprise, plusieurs idées ont déjà commencé à être évoquées, pour ce qui pourrait devenir la version suivante : PHP 7.2.


Vous trouverez ci-dessous quelques RFC correspondant à certaines de ces idées.

Comme toujours, quelques-unes d’entre elles iront jusqu’au processus de votes, une partie seulement seront acceptées, alors qu’un nombre important seront finalement oubliées :

Je me permets d’insister encore une fois : ce n’est pas parce qu’une RFC a été rédigée que l’idée correspondante mènera à une nouveauté pour PHP !