On Tue, Nov 30, 2021, at 10:17 PM, Brady Wetherington via internals wrote:
>>>> …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.

Thanks for the follow up!

Out of curiosity, since it sounds like the dynamic props deprecation rates a 
"meh" on the problem scale for you, what is the most common other deprecation 
you're hitting?  It would be interesting to see how many *unique* deprecation 
warnings a large, real-world application has and compare with other projects.

--Larry Garfield

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

Reply via email to