Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:123782 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 1E3581A009C for ; Mon, 24 Jun 2024 15:07:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1719241708; bh=Zco/Ds15u517YAxS97oEi6sjZNTQNfnMcP1g04YY5o8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=ZtukOHI0lO7qxFaSiVz7mCxsElLulqisGjEF2opnyMX7Tnw09V0vA1Ehu8UiVVGS3 PTPCQVV0ITewTIlgpUI5+7GoLZOpt8DcMuFTC9D7MVecU6b982P3WeYZVkeCMup2Ph 8S7xPcfEUSqcU0FwfOg+yF50czCZqfV6CkBtYYfU3BE72FL+jHU+IWdNoeGdZ2ZWkM oLuKZnPLrI14qdncoDRpciodrRTdkxCqiBHjiL4oUJIJNUFT0i6BWV41KwkH9E/w20 Lg2AJkF8BnG4UdrBj+bHtHO7QvzW799fxWr60Z3PCEPftDXA/i4FO+x5Ptf2hQg36h Jw3oYEMuPiQDQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E1F01180068 for ; Mon, 24 Jun 2024 15:08:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-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,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 24 Jun 2024 15:08:26 +0000 (UTC) Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-52cd8897c73so3150829e87.2 for ; Mon, 24 Jun 2024 08:07:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719241628; x=1719846428; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=M96jdxMrmOh1/yJ3whjO7uiAQTwOoj9EtuLcpXBIg78=; b=Z3pOxFDGcmGobSZn5CSfDbaNC1h2Mk9G2ZNHo7F39f3IZD6KxljnYrbWUNwqHCeHIJ jaNDEwhlg4Ot5HgxF23EKGCCPuNNjqxtPgEl9k9px2qEEEKr9Hwbgl8SXP+44tDlsdQ9 e0bMaoDalls9BUQcmpTYb1Tdb/XAI8N6f0gwPuKRqc9AOFC9N1tQ8Vt/NMdldQ/mPbLc uiUtjkjb1eDqgBzrAOzoFwvm1xW2gjHLP+dfNAI5he0bsqyIAVyRi7lG/rJvOEdPNkRR lEBwnrk8PyaSliwFDxdMfiWu3QIwd8B5HW/as8z9u2b7DT7tNU8wCIcrew/t4Pvm+ZEq PLbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719241628; x=1719846428; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=M96jdxMrmOh1/yJ3whjO7uiAQTwOoj9EtuLcpXBIg78=; b=t+y5ZK5eWJANeej9zSeWmlNbMZeKbP58ISkK//2JLFnj5pwnmCxitdNnm1Gh0qI6WB YUVyoWVAs2rsPf5bDXBoA5B2JDGP+PDDp0W0dEUdzHQMgad/DJByqv1OpI23PrSaK5Lq VvpdZNnWpsyKuoCCVehovi63Tbiuz7TvdkWB8Qta4pgB7fAMmgSkJW056DJQDyaQn0rE RGhUhgD/bxkH11KHVEz84PWXab77G0amxeJ0L1vbc3GHFjB8L6vfLM1XnD9U661zikdI 5FsTSvkR7IWV4LnD9roXe2ITK5Z3oqAuLVNVhsiKvzuKrT37iiiegVrNlh2zNuU1HpZO MIbw== X-Gm-Message-State: AOJu0Yyp9v2sDq+1DScq9U+z3Z6rSH+xxp8zrR4t07qoSm9owcyaMPJi uqwO3j/L0FJZ0qRDxMo25biqU1cRYZJdKIChV0glDNcDe6w2v4zeLWfTftqATO/n0iQObisy0KK WIw/2te0rFBD3DDzAq5U0Yel+8TA= X-Google-Smtp-Source: AGHT+IEoFton39EKdLf761VqjgB+Oal1tZq5Qs8iPADmakByOrgW/5opSpFOH6mAwPtMpC2qJP8oZx0ebDMV3/Xu1T4= X-Received: by 2002:ac2:5f88:0:b0:52c:d750:bd19 with SMTP id 2adb3069b0e04-52ce1832571mr2704764e87.8.1719241628115; Mon, 24 Jun 2024 08:07:08 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 24 Jun 2024 17:06:55 +0200 Message-ID: Subject: Re: [PHP-DEV] Re: [RFC] [Vote] #[\Deprecated] attribute To: =?UTF-8?Q?Benjamin_Au=C3=9Fenhofer?= Cc: PHP Internals Content-Type: multipart/alternative; boundary="00000000000086efc2061ba422e1" From: nicolas.grekas+php@gmail.com (Nicolas Grekas) --00000000000086efc2061ba422e1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le mer. 5 juin 2024 =C3=A0 10:18, Benjamin Au=C3=9Fenhofer a =C3=A9crit : > > > On Wed, May 22, 2024 at 9:22=E2=80=AFAM Benjamin Au=C3=9Fenhofer > wrote: > >> The vote for the RFC #[\Deprecated] attribute is now open: >> >> https://wiki.php.net/rfc/deprecated_attribute >> >> Voting will close on Wednesday 5th June, 08:00 GMT. >> > > The #[\Deprecated] attribute has been accepted with 23 (Yes) to 6 (No) > votes, 79%. > > > The secondary vote to include Deprecated::$since has also been accepted > with 22 (Yes) to 1 (No) votes, 96%. > > > Thank you to everyone for voting! > > > Tim will finalize the implementation PR now and work on its merge in the > upcoming days. > Hi Benjamin, The vote for the RFC #[\Deprecated] attribute is now open: >> >> https://wiki.php.net/rfc/deprecated_attribute >> >> Voting will close on Wednesday 5th June, 08:00 GMT. >> > > The #[\Deprecated] attribute has been accepted with 23 (Yes) to 6 (No) > votes, 79%. > > > The secondary vote to include Deprecated::$since has also been accepted > with 22 (Yes) to 1 (No) votes, 96%. > > > Thank you to everyone for voting! > > > Tim will finalize the implementation PR now and work on its merge in the > upcoming days. > Since the vote passed, we're discussing how we might use the attribute in Symfony. 2 things on the topic: 1/ We're wondering about using it at the class level despite the missing Attribute::TARGET_CLASS. ReflectionAttribute does allow reading attributes without checking these flags and we might leverage this capability to make our DebugClassLoader able to inspect those at the class level. Would you consider adding Attribute::TARGET_CLASS in 8.4 already? It would just make sense to me. We don't need the engine to do anything about deprecated classes ever since all we need in userland is a class-loader that checks for the attribute. Keeping the engine simpler and empowering userland with maximum flexiblity FTW. I'm up for a quick RFC if the consensus is this needs one. 2/ About the "since" parameter, we're going to standardize around a package+version string, e.g. #[Deprecated(since: "symfony/yaml v7.2"] I'm sharing this hoping this can spread outside of Symfony's boundary because I think this would be a very useful practice that'd allow building nice reporting tools. Nicolas --00000000000086efc2061ba422e1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
Le=C2=A0mer. 5 juin 2024 =C3=A0=C2=A0= 10:18, Benjamin Au=C3=9Fenhofer <= kontakt@beberlei.de> a =C3=A9crit=C2=A0:


On W= ed, May 22, 2024 at 9:22=E2=80=AFAM Benjamin Au=C3=9Fenhofer <kontakt@beberlei.de> = wrote:
The vote for the RFC #[\Deprecated] attribute=C2=A0is now open:
https://wiki.php.net/rfc/deprecated_attribute

Voting will = close on Wednesday 5th June, 08:00 GMT.

The #[\De= precated] attribute has been accepted with 23 (Yes) to 6 (No) votes, 79%.


The s= econdary vote to include Deprecated::$since has also been accepted with 22 = (Yes) to 1 (No) votes, 96%.


Thank you to everyone for voting!


Tim will finalize the implement= ation PR now and work on its merge in the upcoming days.


Hi Benjamin,

The vo= te for the RFC #[\Deprecated] attribute=C2=A0is now open:

https://w= iki.php.net/rfc/deprecated_attribute

Voting will close on Wednes= day 5th June, 08:00 GMT.

The #[\Deprecated] attri= bute has been accepted with 23 (Yes) to 6 (No) votes, 79%.


The secondary vote t= o include Deprecated::$since has also been accepted with 22 (Yes) to 1 (No)= votes, 96%.


Thank you to everyone for voting!


Tim will finalize the implementation PR now an= d work on its merge in the upcoming days.

=
Since the vote passed, we're discussing how we might use= the attribute in Symfony.
2 things on the topic:
<= br>
1/ We're wondering about using it at the class level desp= ite the missing Attribute::TARG= ET_CLASS.=C2=A0ReflectionAttribute does allow reading attributes without checking these flags and we might leverage this capability to make our DebugClassLoader able to inspect=20 those at the class level.
=
Would you consider ad= ding Attribute::= TARGET_CLASS in 8.4 already? It would just make sense to me. We don't need the=20 engine to do anything about deprecated classes ever since all we need in userland is a class-loader that checks for the attribute. Keeping the=20 engine simpler and empowering userland with maximum flexiblity FTW. I'm= =20 up for a quick RFC if the consensus is this needs one.

= 2/ About=C2=A0 the "since" parameter, we're going= to standardize around a package+version string, e.g.<= /div>
#[Deprecated(since: "symfony/yaml v7.2&quo= t;]

I'm sharing this hoping this can spread outside of Symfony's boundary=20 because I think this would be a very useful practice that'd allow=20 building nice reporting tools.
<= span>
Nicolas
=C2=A0
--00000000000086efc2061ba422e1--