Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120631 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 26604 invoked from network); 20 Jun 2023 03:46:55 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 20 Jun 2023 03:46:55 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 4C9EA1804D7 for ; Mon, 19 Jun 2023 20:46:54 -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=2.6 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_SOFTFAIL, STOX_BOUND_090909_B,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS36483 23.83.208.0/21 X-Spam-Virus: No X-Envelope-From: Received: from bee.birch.relay.mailchannels.net (bee.birch.relay.mailchannels.net [23.83.209.14]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 19 Jun 2023 20:46:53 -0700 (PDT) X-Sender-Id: a2hosting|x-authuser|juliette@adviesenzo.nl Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 2130F3C299F; Tue, 20 Jun 2023 03:46:52 +0000 (UTC) Received: from nl1-ss105.a2hosting.com (unknown [127.0.0.6]) (Authenticated sender: a2hosting) by relay.mailchannels.net (Postfix) with ESMTPA id C40DE3C28F7; Tue, 20 Jun 2023 03:46:50 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1687232811; a=rsa-sha256; cv=none; b=edIszEWzW/+f8nrJ8IhXDOsJwHtq0QwPvIQbaBW/lm6WcJ5D7khNZKfSDooXOKOtTRAXIO 5U8x0M7JjLTcG/EV0r4l3sPYjZIv+mM+P3J+FoW8Y+0pi6ykPWYPPeOo93QM/maKHdlc3F ckuWMKCFe0jdmY1AOy561ZkoQb+yIWE/LKxXsfiI67kz8vGurZHpNw/M1Ho/TQ0G0qWEhE Yn2qHYJzAV6cs3rM1fBQt//Vc3MXDtDUecSf+fhFJGQlR4KRQu6FH4gFyFMjbCiBooXpcJ QUfovs2ngiKyByIKcDKh5Gkwr9PobdW1jGVpo06Pf+w2qmY2EtnieGOp/G0daA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1687232811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+xenOUS//2lzUSJqE2p9kEO2fEQjHaH1SPk4uiOyExA=; b=bnVQdnE4ygWWsSsjOezmh8XqQVkSdWIRi7G50g4eU+Lh8aeHIJqDJpUvd2y7DEvduZ5lBJ qpjXNAW4mxRDqoVZ/UZ45IEg6m82pM7Et00u2Aqo+5wjFGabaHdkMkRIH179h51qFcvPwM /D+0i+IBA0kK5i3N5q+b57RTaROyLPDjShR+kncpLdxDRYrkQ+8fMXCrlWdtTRHaCmClnM vo2u2COxRVnuGbP/oJ4BzYfYbg4GiIGb3LSEyXK/lW35R8ihp4TLz3+tU3rVt89PfMOflE hh0TJBh5F4jloHOzjQumB/NokNSbHxm4fMyMqa25nx3uqqCx0pV74gVm3m5bJw== ARC-Authentication-Results: i=1; rspamd-85899d6fcc-rwzts; auth=pass smtp.auth=a2hosting smtp.mailfrom=php-internals_nospam@adviesenzo.nl X-Sender-Id: a2hosting|x-authuser|juliette@adviesenzo.nl X-MC-Relay: Neutral X-MailChannels-SenderId: a2hosting|x-authuser|juliette@adviesenzo.nl X-MailChannels-Auth-Id: a2hosting X-Thread-Oafish: 21d04e562bbbb133_1687232811479_303902443 X-MC-Loop-Signature: 1687232811479:2533774263 X-MC-Ingress-Time: 1687232811479 Received: from nl1-ss105.a2hosting.com (nl1-ss105.a2hosting.com [85.187.142.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.115.252.250 (trex/6.9.1); Tue, 20 Jun 2023 03:46:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=adviesenzo.nl; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:Cc:References:To:Subject:Sender:Reply-To: Content-Transfer-Encoding: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=+xenOUS//2lzUSJqE2p9kEO2fEQjHaH1SPk4uiOyExA=; b=SlK7YY9rb0HUO3BEfqVGvPXSm9 xDqteP0lkd0XC2VZp17RVfaSg2piNB5F13/jFixiIbTsHu9hJPi5Ir8rptsZeR1FjOcpoY1VHD7Cr Sk1b+11YdJRFK4M6dnLnY0bi9fyi/LOA0yIPMaWoMA/JOTjyTlIdHdVVEy8BcE3dMyZ0=; Received: from [143.178.154.86] (port=55301 helo=[192.168.1.104]) by nl1-ss105.a2hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1qBSKP-0009aF-2h; Tue, 20 Jun 2023 05:46:48 +0200 To: =?UTF-8?B?TcOhdMOpIEtvY3Npcw==?= References: <648B28D5.1060506@adviesenzo.nl> Cc: internals@lists.php.net Message-ID: <64912128.1@adviesenzo.nl> Date: Tue, 20 Jun 2023 05:46:48 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------050008090106040401060001" X-AuthUser: juliette@adviesenzo.nl Subject: Re: [PHP-DEV] [RFC] [Discussion] Deprecate functions with overloaded signatures From: php-internals_nospam@adviesenzo.nl (Juliette Reinders Folmer) --------------050008090106040401060001 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 19-6-2023 23:16, Máté Kocsis wrote: > Hi, > > The impact analysis on userland code seems to be missing for some of the >> proposals, most notably for the proposals which I expect will have the >> highest impact. I'd like to ask for an impact analysis to be added to >> each of these: >> * array_keys() >> * ReflectionProperty::setValue() >> > These are intentionally left out due to different reasons: > > * Even though the 1 parameter version of array_keys() is used a lot, its 2+ > parameter signature is much less known. > Personally, I've never used it. Of course, this doesn't mean no one uses > it, but I don't think this deprecation will really > matter in practice, so I didn't care to write a script for this (the rest > of the deprecations were easy to analyze via regexes). > > * ReflectionProperty::setValue() would be a lot of work to analyze since > it's very difficult to track whether the > setValue() method is called on a ReflectionProperty instance. Not to > mention the fact that the deprecation only affects > function invocations where either a single parameter is provided or static > properties where the first parameter is not null > or an object instance. Since the suggested alternative is basically > available since forever, I think it's OK not to do > an exhaustive analysis in this case. > > >> For the `get*_class()` deprecation, I wonder if an additional impact >> analysis is needed for packages which may not have removed usages of >> `get_class( null )`, which would now be double-impacted (and not caught >> by the current analysis). >> > I'm not sure I can follow you, but get_class(null) is a TypeError since 8.0 > (and have been warning since 7.2). If a package > didn't feel the need to migrate its get_class() usages then it is likely a > dead project. And if someone tries to upgrade their > (proprietary) code from PHP 7.1 to PHP 8.3 directly then they will notice > the exception first and also - if they followed the upgrading > notes carelly - will learn the relevant suggestions regarding the > deprecation. But realistically speaking, these projects will most probably > be bound by lots of other more severe issues, so I don't think the above is > a viable upgrade path... > > Regards, > Máté > Thanks for the reply Máté. I understand what you are saying and appreciate it may be difficult to get an accurate impact analysis for `ReflectionProperty::setValue()`. Respectfully though, in my opinion selectively leaving out impact analysis without mentioning why they are missing in the RFC, reeks of trying to hide information which could influence the vote. Maybe just mentioning why the impact analysis is missing in these cases in the RFC could take that stench away ? Smile, Juliette --------------050008090106040401060001--