Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116551 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 95367 invoked from network); 1 Dec 2021 18:08:11 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 1 Dec 2021 18:08:11 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 84AA01804AA for ; Wed, 1 Dec 2021 11:06:55 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS19151 66.111.4.0/24 X-Spam-Virus: No X-Envelope-From: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 1 Dec 2021 11:06:55 -0800 (PST) Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 67DCF5C0078 for ; Wed, 1 Dec 2021 14:06:54 -0500 (EST) Received: from imap43 ([10.202.2.93]) by compute6.internal (MEProxy); Wed, 01 Dec 2021 14:06:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=jjgHeBw292OPZ9vcoc6c6SQRAuWrKHvTpN+By1XC0 gs=; b=no4l3suY1dlIwy5x1dP07MdUjzAoVkBZyprFxa8AAS9YLdlaeUheHIHBW /OHgEqhgcrBY6MJxwQf1u2GxrjnV3s3vdsEI1eBvWMSXILOfVn69JqygiGEhra7S Lu11H1NbR+WZEfPQk4a0aGrlCgndtg+RvKk6JW53+vQAgu5zNQB82AOgYxpm5oZi EdAXvHBLGjrvpOzA8bwun5VShhAeHPlKxH+G6b5ad3DEaFWp0p4wrFzPQ/DPXmgw wFKs98L1V2Eb05BXaVVS4M5XJdw5j9OdToUQ6Cz8mBrST29JeC21ha2y04KCu+N/ +wuOrj36p+dCFY+qxT0dMRkmsIhQw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrieefgdduvddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgfgsehtqhertderreejnecuhfhrohhmpedfnfgr rhhrhicuifgrrhhfihgvlhgufdcuoehlrghrrhihsehgrghrfhhivghlughtvggthhdrtg homheqnecuggftrfgrthhtvghrnhepffffffejffdugfegvedviedttedvgfejffefffej leefjeetveehgefhhfdvgfelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe hmrghilhhfrhhomheplhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtohhm X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 2DA8FAC03DB; Wed, 1 Dec 2021 14:06:54 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-4458-g51a91c06b2-fm-20211130.004-g51a91c06 Mime-Version: 1.0 Message-ID: <7325ae6f-0013-4736-bc28-5d44e18b11dd@www.fastmail.com> In-Reply-To: References: Date: Wed, 01 Dec 2021 13:06:33 -0600 To: "php internals" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Re: [VOTE] Deprecate dynamic properties From: larry@garfieldtech.com ("Larry Garfield") On Tue, Nov 30, 2021, at 10:17 PM, Brady Wetherington via internals wrot= e: >>>> =E2=80=A6It'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 no= t saying send PRs to fix them all, just show real impact rather than the= oretical guessing. =E2=80=A6 >> >> >> That=E2=80=99s a totally fair ask, and I=E2=80=99ll try and get that = done and report back. I think I=E2=80=99m probably going to run into som= e Laravel problems here, as they only _just_ came up with a version that= will run under php 8.1. I=E2=80=99ll get as far as I can and let you kn= ow - 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/framewo= rk/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 rat= es a "meh" on the problem scale for you, what is the most common other d= eprecation you're hitting? It would be interesting to see how many *uni= que* deprecation warnings a large, real-world application has and compar= e with other projects. --Larry Garfield