PHP internals is reviewing a grouped RFC for deprecations planned for PHP 8.6. Gina P. Banyard said the proposals were gathered over the past year and that each item will be voted on separately. She also noted that the RFC must be finalized and frozen by 13 July under the newer RFC policy.
Several participants then focused on the lack of impact data in the proposal text. Juliette Reinders Folmer argued that voters need more than justification and offered to help run scans with PHP_CodeSniffer and PHPCompatibility.
She later published scan results for the Packagist Top 4000, covering 446,664 files as of 2 July. Her caveats were that the sample is not representative of all PHP code, the findings were not manually validated or deduplicated, false positives and false negatives are possible, and the numbers do not show how much work the eventual upgrade would require.
The scan results listed findings for many proposals, including 12,275 hits for deprecating list(), 625 for spl_object_hash(), 303 for is_integer(), 96 for _() as a function name, 42 for define() with $case_insensitive, 35 for is_double(), 33 for identifiers in/out/inout, 21 for namespace as a class constant or static property, 17 for SORT_LOCALE_STRING, 16 for is_long(), 11 for strcoll(), 9 for metaphone(), 8 for return from finally, 8 for doubleval(), 7 for _ as a constant alias, 3 for let, 2 for readonly as a function, and zeros for several proposals including is_subclass_of(), is_a(), spl_classes(), mysqli_stmt_init() scans, and mysqli_get_charset().
The thread also refined some of the numbers. Tim Düsterhus noted that one listed example project under in/out/inout was misleadingly grouped, and questioned whether _ as a constant alias was actually affected in one case. Kamil Tekiela later corrected the mysqli section, saying the procedural mysqli_stmt_init() function had been missed and that the proposal text was updated. The discussion remains centered on how much impact information should accompany each deprecation before votes begin.