Re: [RFC] [VOTE] Deprecations for PHP 8.5
| From: | Theodore Brown | Date: | Wed, 13 Aug 2025 22:20:54 +0000 |
| Subject: | Re: [RFC] [VOTE] Deprecations for PHP 8.5 | ||
| References: | 1 2 3 4 5 6 7 8 9 10 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-128469@lists.php.net to get a copy of this message | ||
On Wed, August 13, 2025 at 10:54 Larry Garfield wrote:
> (And I think this does lend still more weight to Juliette's frequent request for more
> robust impact analysis for deprecations. Not because deprecations are bad, but because
> we should know what the impact is so we know how to mitigate it effectively.)
I analyzed the top 1500 Composer packages to find and categorize usages of the
__sleep and __wakeup methods. There are a total of 250
__sleep methods
and 259 __wakeup methods in these packages (509 total).
Of these, 108 are empty methods containing no code. Most of these are stubs
in the jetbrains\phpstorm-stubs package.
Another 152 of the methods contain only a single throw statement.
This leaves 160 __sleep methods and 89 __wakeup methods (249 total) which
do
something else. 150 of these (over 60%) exist in just 9 packages:
* doctrine\orm - 14
* drupal\core - 38
* laminas\laminas-server - 7
* maatwebsite\excel - 7
* magento\zend-db - 7
* pdepend\pdepend - 31
* roots\wordpress-no-content - 6
* symfony\mime - 8
* symfony\symfony - 32
Outside of the above packages, __sleep and __wakup methods generally seem
to
be few and far between.
I created a Google Sheet to view the per-package statistics:
https://docs.google.com/spreadsheets/d/1i7GINJdTjXk4lj012vwd7ipZTxuucduYh-JyYm6V6Y8/edit?usp=sharing
The raw code for each __sleep and __wakeup method can be viewed here:
https://gist.github.com/theodorejb/965633b9787475dfe64cc53dc941bc49
Kind regards,
Theodore