La liste regroupée de dépréciations pour PHP 8.6 est en discussion sur PHP Internals. Gina P. Banyard a indiqué que ces propositions ont été réunies au fil de l’année par plusieurs contributeurs et que chaque dépréciation sera votée séparément. Elle a aussi rappelé que, selon la nouvelle politique RFC, le texte doit être finalisé et figé au plus tard le 13 juillet.
Plusieurs intervenants ont ensuite soulevé le manque d’informations sur l’impact concret des propositions. Juliette Reinders Folmer a estimé qu’il manquait des données utiles pour le vote et a proposé d’aider à produire des scans avec PHP_CodeSniffer et PHPCompatibility.
Elle a ensuite publié des résultats fondés sur le Top 4000 de Packagist, avec un périmètre de 446.664 fichiers au 2 juillet. Elle a précisé que cet échantillon ne représente pas tout le code PHP, que les résultats n’ont pas été validés à la main ni dédupliqués, et qu’ils ne disent rien du coût réel de migration ni des effets en cascade.
Parmi les chiffres publiés figurent 12.275 occurrences pour list(), 625 pour spl_object_hash(), 303 pour is_integer(), 96 pour la fonction _(), 42 pour define() avec $case_insensitive, 35 pour is_double(), 33 pour in/out/inout, 21 pour namespace comme constante de classe ou propriété statique, 17 pour SORT_LOCALE_STRING, 16 pour is_long(), 11 pour strcoll(), 9 pour metaphone(), 8 pour return dans finally et 8 pour doubleval(). Certains sujets ont été signalés comme n’ayant aucun résultat, notamment is_subclass_of(), is_a(), spl_classes(), mysqli_stmt_init() dans ce relevé et mysqli_get_charset().
La discussion a aussi servi à corriger quelques points de détail. Tim Düsterhus a signalé un classement trompeur pour in/out/inout et une possible confusion autour de _ comme alias de constante. Plus tard, Kamil Tekiela a indiqué que mysqli_stmt_init() avait été oublié dans la première version et que le texte du RFC avait été ajusté. Le désaccord principal reste la place qu’il faut donner à l’analyse d’impact avant le vote.