Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:117518 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 11467 invoked from network); 11 Apr 2022 17:25:28 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 11 Apr 2022 17:25:28 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B89671804DB for ; Mon, 11 Apr 2022 11:57:00 -0700 (PDT) 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.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS398810 136.175.108.0/24 X-Spam-Virus: No X-Envelope-From: Received: from mail-108-mta27.mxroute.com (mail-108-mta27.mxroute.com [136.175.108.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 11 Apr 2022 11:56:59 -0700 (PDT) Received: from filter006.mxroute.com ([140.82.40.27] 140.82.40.27.vultrusercontent.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta27.mxroute.com (ZoneMTA) with ESMTPSA id 18019fc7a0e000fe85.001 for (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Mon, 11 Apr 2022 18:56:58 +0000 X-Zone-Loop: d662c8938439063eebe7a82ce6f21988dc021f2030a5 X-Originating-IP: [140.82.40.27] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=demon-angel.eu; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: From:References:To:Subject:Reply-To:MIME-Version:Date:Message-ID:Sender:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=lVH/IUVtxjyX7ymvsloFQWhNJD403a9eoSYtPiaKLu4=; b=Eax2Ym82K7ZPE1fs7C0yTNGvc7 fSSvJrY+lVz3s/sCk2HomjZCCb4PFnanZSGIPKIOKqEkXO3/WadQF3izte+/DHz/yFQ77YRLAMau0 nAllFh7QDgq0W4PRdKarXXbL6drrm1czMunu0RIvnRKtnh4Sp8Nz9Y9skvFrvPAPzGW1ZRKpktRXh gVH5uGU/NL/CEiTkxRQPSwG2vqwS6Q56/4nJ31YSnVn8sXO0rG1RB1T+qK0KbIhmFncZ/UpMGeElP 0EJswSIH8EsujQ0rGv3Dkc2HxnKBvcJcMgW0ABIAgOQkIDa6mIq27o/OFhtTOM4cSKD+2TGh8rXHh 7v2wbBTw==; Message-ID: <00eeb55f-50c0-a724-efdd-c4426749c770@demon-angel.eu> Date: Mon, 11 Apr 2022 20:56:56 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Reply-To: mark@demon-angel.eu To: internals@lists.php.net References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-AuthUser: mark@demon-angel.eu Subject: Re: [PHP-DEV] NULL Coercion Consistency From: mark@demon-angel.eu (Mark Baker) On 11/04/2022 20:22, Craig Francis wrote: > Keep in mind, if you're using `strict_types=1`, great, you're not affected > (I'm not either)... however, I work with quite a few developers, and it's > causing them a lot of problems, and their current approach is to either > disable the deprecation warnings, or to stay with 8.0, simply because they > do not have the time to make the changes... I will note that one team has > been trying to update their code base, it's about 6 months later, and they > still keep adding `strval()` to silence these deprecation warnings (yeah, I > know, not good, but it's the easy solution). This doesn't only apply to end user developers, but also to library and toolchain developers who need to maintain code covering a range of PHP versions, and who also need to make these trade-offs. It's those maintainers that have to deal with the impact of this type of change, whether needing to apply changes to their libraries to "suppress" the deprecation notice; or dealing with end-user developers raising the same issues time and again about it because they don't want to see deprecation notices appearing in their logs. Even though this was only a deprecation, most end-user developers don't recognise that difference from logged errors when using libraries, so the impact is felt most heavily by library and toolchain maintainers. This 8.1 deprecation was the one that created the most work, and the most stress for me; and even with an average of 85% code coverage with tests, I'm still not certain that I've resolved every instance using the dirty `$x ?? ''` approach when calling PHP core functions. In many ways, readying code for the 8.1 release because of this deprecation was more painful and time consuming than for the 8.0 release. With all the new deprecations being added for 8.2, I'm looking forward to it even less. That's also why I wish there was a better risk assessment made for every deprecation RFC; becase all too often there's little or none; and why I get frustrated whenever a question is raised about an RFC, and the person raising these concerns is too often shouted down for raising "a storm in a teacup". -- Mark Baker _________ |. \ \-3 |_J_/ PHP | || | __ | || |m| |m| I LOVE PHP