Ce mois-ci sur internals@php - Novembre 2012

3 décembre 2012internals@, php
 Cet article a été rédigé il y a plusieurs années et peut ne plus être tout à fait à jour…

L’événement principal de ce mois de novembre 2012 sur la mailing-list internals@ est probablement l’annonce de la création de la branche 5.5 de PHP, ainsi que de la sortie de la première version alpha :

  • Branching PHP-5.5 : le 30 octobre, David Soria Parra annonce que la branche PHP 5.5 va être créée dans les jours qui suivent.
  • HEADS UP: PHP-5.5 branched : dans la suite de l’annonce précédente, David Soria Parra annonce le 13 novembre que la branche 5.5 a été créée.
  • PHP 5.5.0alpha1 Released for Testing! : et le 15 novembre, voici l’annonce de la sortie de la première version alpha de PHP 5.5.

Ces annonces marquent le début de la phase de release de PHP 5.5, qui va voir s’enchainer versions alpha, bêta, et RC, jusqu’à la sortie de la première version stable – peut-être au printemps ou au début de l’été prochain.


Vient ensuite ce qui a sans aucun doute été LA discussion de ce mois, avec 163 mails au moment où j’écris ceci : Adam Harvey annonce le 12 novembre qu’il a publié la RFC: ext/mysql deprecation.

Dans l’ensemble, les différents intervenants sont d’accord sur le principe que ext/mysql devrait être marquée comme obsolète un jour, et probablement sortie du core et déplacée vers PECL un jour. Cela dit, le gros de la question porte sur quand ce marquage en E_DEPRECATED devrait avoir lieu : pour PHP 5.5 ? ou plus tard ?

Depuis, les choses ont avancé d’une étape, puisque la RFC est en cours de vote depuis le 28 novembre : [VOTE] ext/mysql deprecation in 5.5 – ce fil de discussion en est à 40 mails au moment où j’écris ceci, ce qui fait un total de plus de 200 mails autour de ext/mysql en moins d’un mois !
En l’état actuel, à la question “est-ce que ext/mysql doit générer des erreurs E_DEPRECATED dès PHP 5.5”, 21 intervenants ont voté pour, et 12 contre.

Pour plus d’informations sur ce sujet, je vous encourage vivement à lire :


Clint Priest poursuit le travail de ces derniers mois autour de l’implémentation d’accesseurs de propriétés :


Je disais dans l’article En route vers PHP 5.5 : Quelques backward-compatible breaks que les fonctions php_egg_logo_guid(), php_logo_guid(), et php_real_logo_guid() avaient été supprimées pour PHP 5.51.

Philip Olson s’en étonne, et demande Where did the logo functions go?.

Le coeur de la discussion, en fait, ne porte pas tant sur la suppression en soit de ces fonctions (elles n’étaient pas vraiment utiles, et pas tellement utilisées), mais sur le fait qu’elles aient été supprimées “par surprise”, sans qu’une RFC ne soit rédigée, ni qu’un avertissement E_DEPRECATED ne soit levé auparavant – en cela, le “processus” “standard” n’a pas vraiment été suivi…


Florin Razvan Patan a lancé une discussion autour d’une éventuelle implémentation d’une interface de logging au sein de PHP : Implement a LoggerInterface to PHP.

Une telle interface est un besoin récurrent de nombreuses applications, et une implémentation directement dans PHP apporterait de la cohérence entre frameworks, qui pourraient ainsi partager une interface commune ; en somme, elle aiderait à standardiser un peu les choses.

Patrick Allaert répond que ceci pourrait se faire via une extension PECL, et qu’il ne voit pas l’intérêt de l’implémenter dans le core de PHP ; après tout, une interface pourrait tout à fait être partagée entre différents projets, même si elle n’est pas native à PHP.

En conclusion, il en ressort plusieurs avis disant que définir ce type d’interfaces fait parti du rôle du FIG - Framework Interoperability Group, et pas d’internals@.


Sara Golemon annonce la RFC Modify tempnam() to handle directories and auto-cleanup, dont l’idée est de permettre une suppression automatique des fichiers temporaires créés depuis des scripts PHP.


Viennent enfin quelques travaux autour de l’amélioration de performances, notamment autour de Phar + APC, des generators, ou de finally.



internals@lists.php.net est la mailing-list des développeurs de PHP ; elle est utilisée pour discuter des prochaines évolutions du langage, ainsi que pour échanger autour de suggestions d’améliorations ou de rapports de bugs.
Elle est publique, et tout le monde peut s’y inscrire depuis la page Mailing Lists, ou consulter ses archives en HTTP depuis php.internals ou depuis le serveur de news news://news.php.net/php.internals.


Au moment où PHP-5.5-alpha1 est sortie, les fonctions `*_logo_*()` n'y figurent plus ; cela dit, qui sait ? Il reste encore du temps avant la sortie de la première version stable, et les choses peuvent encore bouger.

  1.  ↩︎