>>> …It's been merged to master, so you could stand up a build now and point to 
>>> the many deprecation warnings you're expecting.  I'm not saying send PRs to 
>>> fix them all, just show real impact rather than theoretical guessing. …
>
>
> That’s a totally fair ask, and I’ll try and get that done and report back. I 
> think I’m probably going to run into some Laravel problems here, as they only 
> _just_ came up with a version that will run under php 8.1. I’ll get as far as 
> I can and let you know - even if I determine that my suspicions were 
> completely incorrect :)

Okay - good news/bad news/good news -

Good News: I managed to snag an 8.2 build and ran Snipe-IT on it, and
it worked completely fine. I cheated a little bit - I didn't try to
make a composer.json that would support 7.4 through 8.2, I just did a
'composer install' from PHPv8, and then switched PHP versions out from
under it. Literally nothing broke at all - I was completely shocked! I
was so worried that I wasn't testing it right that I had to make a
quick little test script with dynamic properties in order to force the
deprecation warning to show up - and it did, so I *do* have the
latest.

Bad News: That's because later versions of Laravel dump all
deprecation warnings straight to /dev/null by default. If you
configure a log 'channel' for 'deprecations', *then* you get actual
results. One page load (our dashboard page) generated 267KB of
deprecation warnings. Clicking through most of the main pages of our
app generated around 3.5MB of them. And these aren't full
stack-traces, they're just messages like:

"[2021-12-01 03:48:23] local.WARNING: Creation of dynamic property
Illuminate\Database\MySqlConnection::$readWriteType is deprecated in
/Users/uberbrady/Documents/grokability/snipe-it/vendor/laravel/framework/src/Illuminate/Database/Connection.php
on line 1368"

Good News: *Many many many* of those deprecation warnings were repeats
of the same deprecated thing from the exact same place. And *very very
few* were from the dynamic properties thing. *None* of the dynamic
properties deprecations were from our code. Everything was from
composer dependencies, and only a small handful - so, probably pretty
easy to remediate when it comes to that.

So the _other_ deprecation notices are a whole other thing, and having
so many is definitely a drag, but that's a completely separate issue
from this dynamic properties thing, which doesn't seem too bad so far,
for us at least. Other folks might not get off so easily, and
/dev/null-ing deprecation warnings seems like it's kicking the can
down the road, but, well, *we're* OK for 8.2.

I should note that a lot of my PHP-based CLI tools are spewing
deprecations everywhere as well, but they at least still work so I can
perhaps live with that.

-B.

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php

Reply via email to