Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116545 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 29685 invoked from network); 1 Dec 2021 03:19:34 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 1 Dec 2021 03:19:34 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 74B221804AA for ; Tue, 30 Nov 2021 20:18:11 -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=-0.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) (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 ; Tue, 30 Nov 2021 20:18:10 -0800 (PST) Received: by mail-qt1-f169.google.com with SMTP id l8so22693394qtk.6 for ; Tue, 30 Nov 2021 20:18:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=grokability.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=YanS8fYjg5EQwqyNEk2sokoK7349tV2b8D2IfJvBM8E=; b=PHZSaDgIb01PH7uv6WOPLTHZTWmUWCMtLhZ9JaRONcG9TP5pvy1R7Rsx4t4CtQhIKB KoC3lYqn4KazXJvSyhuYqpD6Zs6r+nQBTs+2tIOQ9dKFLnD5b7mLV/GLDxWlgGXaqqyk PNkmWsdZIc7JitvUhXQtcbBW3dZ+8jsKySanwME28LJQdbMpbrw6GwI3d92SYncmVF6l buoJBq9LPVAz4o2N+HytFn1gXQELz92dnTrCihpwfunpdQqSh9eFv3ZEcfo+FS1XOAKK GgonrTub6HBvngGWlGd0wHylsY2IP+BBa0/vx4buukvq3Wurk6w7if6r8FrRjXtL5aH6 WYLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=YanS8fYjg5EQwqyNEk2sokoK7349tV2b8D2IfJvBM8E=; b=Gk2Hf4vXrzH5jbyisygu7EAEGu4Lc+xA0/iKc50lkfd13DjnMebO3vwAZNdJUvvMgg ENE98idlyBMm7joaKEI1qFn2I9brbfRflPIA8yIADvnMtZRwo9FwBC64/S7jKRqnzuWn YVkUVp9v9Miyf/ZNj5YiZWuDVFsGtIa3zhBXtdTx4xXlm2r76C72Ksw+OXSBifnpfIAe KGZDA/uo6hAYVtSBNAA4GCimXSKwN/ba1ygmtpJItizBLX/hs9lSlz+620/BJf6APuII vf1b/sBj6oLUNkVMjWcWSPb6dxLV22z3cPEdZAgIyR9dMSMr45SU08kJRPet7n0JFaT2 Lpiw== X-Gm-Message-State: AOAM533Ig0a719W2kMXzRaQb6mnclyqav+jh9jBxg+647FIiYB4VQNav gQbpRPtDwwT3cC1PIa/597VrfhfJptKNX6TZQpk5JQ== X-Google-Smtp-Source: ABdhPJwEGKyXWfgc2sbEQHwUyqQpXisrd4S/q8jOed9E0NugLLytsIKXheyoJccFdG/YCfnMFIEbYOZlWNWxbEsEflw= X-Received: by 2002:ac8:5a96:: with SMTP id c22mr4236208qtc.602.1638332290283; Tue, 30 Nov 2021 20:18:10 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Reply-To: Brady Wetherington Date: Tue, 30 Nov 2021 20:17:59 -0800 Message-ID: To: Sara Golemon Cc: Dan Ackroyd , Kamil Tekiela , PHP internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Re: [VOTE] Deprecate dynamic properties From: internals@lists.php.net ("Brady Wetherington via internals") >>> =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 not sayin= g send PRs to fix them all, just show real impact rather than theoretical g= uessing. =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 some Larav= el 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 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/sr= c/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.