Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116328 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 47379 invoked from network); 12 Nov 2021 15:40:30 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 12 Nov 2021 15:40:30 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 6FAC51804F2 for ; Fri, 12 Nov 2021 08:34:29 -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.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 ; Fri, 12 Nov 2021 08:34:29 -0800 (PST) Received: by mail-ed1-f47.google.com with SMTP id g14so39971341edz.2 for ; Fri, 12 Nov 2021 08:34:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=kDNKRf4Rd5tXmaJCVn1W+VAPhA8tH3T+jsXbbwoi5KQ=; b=TT6Mvk0Y7xYtJlFA9geAhgZdeIxpDfE9+xXh/c8hzZ3kQatZxwl2F3Wz0/hVBBM2B/ nZmBlQPO6KMs1AB0kN/7P20d2AU4DykXHv+78GEsiL+PUDAzNeXFrEwIsq1SCEixldZb FhPT5b/nX2gsDv8FjPxM9O4X2l7j/szM3W6dxU+hFJoABveprv2yRCg22fxCFD0n59pw tdmEZoeJmfiEGsSTUvSzPdkONTC7clPJKKKVutMak7gLtm2XD1dgPawKmoWQij+hXkRv ibbaGPcHqB47eMxh6CJ1kacqj9aQ31VZBIsfZNv4PKcrg+4NjXXHEuIFVgydWV1rNyVB aZuQ== 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; bh=kDNKRf4Rd5tXmaJCVn1W+VAPhA8tH3T+jsXbbwoi5KQ=; b=1wtrNDhNy1EOtewgKMZBKGFcZQvUH7qt3VQy7enwLxlwICXJzf7OwfNRYMcDnVJ/dO mg5IA8m2QxdlzYIMcXAoRsib10JM372sRQDAMSf169S0LYlq3TKQOLWDH/l4bWHVAaqw 63yU/QKz5ulC2aJ9Yi8Fa6R9idl1318bZgbLiitgvzTwrl604b5fwhZAB69rAStdXlIE DAtQpuyVD2YKFFedy3vREVYBCnI+rxzinCFfl1ll1UYyh8aBFZUn9ZnpMmJScWy+Gy+Q v6VLihPQn9lI4ij/Wp427x+0vURu6ionVUipsH8OGOEJ6i5rKxFaAbf2hGRYA/wAm2Ab UJQg== X-Gm-Message-State: AOAM531lgZFBEcOl2tSK4U4Ltf2Am0RuCHux6e2A/4FDAqQcG1MmpCGS xy5AftZARXlCgJep9v60cYFgRNZS6DTdKrU1GJCvPb0p X-Google-Smtp-Source: ABdhPJzq1KYGXDkj/0pabZUugpQnhs0HiDZrBbVbd3epk5Nq+HRQ4GZtBvB5Cm0opAz2enXXTw4H6Y+Qqq+ipIUqPE4= X-Received: by 2002:aa7:cdc9:: with SMTP id h9mr23114045edw.370.1636734867188; Fri, 12 Nov 2021 08:34:27 -0800 (PST) MIME-Version: 1.0 References: <0A40B090-43E3-484F-B67F-175C3B8F7CD6@php.net> In-Reply-To: <0A40B090-43E3-484F-B67F-175C3B8F7CD6@php.net> Date: Fri, 12 Nov 2021 17:34:10 +0100 Message-ID: To: Ben Ramsey Cc: php internals Content-Type: multipart/alternative; boundary="00000000000059b1eb05d09a0850" Subject: Re: [PHP-DEV] [VOTE] Deprecate dynamic properties From: nikita.ppv@gmail.com (Nikita Popov) --00000000000059b1eb05d09a0850 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Nov 12, 2021 at 5:25 PM Ben Ramsey wrote: > > On Nov 12, 2021, at 10:10, Derick Rethans wrote: > > > > On 12 November 2021 13:07:42 GMT, Nikita Popov > wrote: > >> Hi internals, > >> > >> I've opened the vote on > >> https://wiki.php.net/rfc/deprecate_dynamic_properties. Voting will > close > >> 2021-11-26. > > > > I've voted no on this one. Not because I don't like the idea, but > because I think the timeline for deprecation and removal is way too fast. > > > > This is IMO not something important enough to cause a fairly large BC > break for, and it should wait until the last in the 8.x series before we > deprecate it. > > > > cheers > > Derick > > > I=E2=80=99ve voted no for the same reason. > > I like this change, but the deprecation in 8.2 seems too disruptive. I=E2= =80=99d > rather promote our intent to deprecate this with a statement in the > manual that says something like, =E2=80=9CThis feature will be deprecated= in > PHP 8.3 and removed in 9.0.=E2=80=9D FWIW I think we should always deprecate things as soon as possible, to give people the maximum amount of awareness and time to address the issue before the actual removal occurs. Most people will not be aware they need to take action if it's just a note in the manual. For that reason, I find it generally preferable to deprecate something closer to PHP 8.0 than to 8.4, which would be directly before a major version with limited time to act. Now, we don't usually tend to optimize for "time of deprecation" because that requires planning deprecations many years in advance, but if the choice existed I'd always go for deprecating early in the major release cycle, rather than late. > Meanwhile, 8.2 should include the > AllowDynamicProperties attribute so folks can start preparing. > Given how attributes in PHP work, this doesn't make sense to me. You can already use #[AllowDynamicProperties] in your code right now, without any special support from PHP. Only static analyzers / IDEs need to know that they shouldn't complain about it even on versions where it does not technically exist. Regards, Nikita --00000000000059b1eb05d09a0850--