Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116434 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 68247 invoked from network); 17 Nov 2021 00:17:29 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 17 Nov 2021 00:17:29 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 1C0781804C4 for ; Tue, 16 Nov 2021 17:12:33 -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=3.2 required=5.0 tests=BAYES_40, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_SOFTFAIL 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-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) (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, 16 Nov 2021 17:12:32 -0800 (PST) Received: by mail-lj1-f171.google.com with SMTP id z8so2332450ljz.9 for ; Tue, 16 Nov 2021 17:12:32 -0800 (PST) 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=75ggUPWmNPFpIXrfFLr+C1HZbZZu/hLZavNfu9ZiiBE=; b=nw+T11DAu5RxhrNKQUuigl2+Mmk/n/1SZzqH9mr80G3u3z+JQUxVCfUxC5SZUmTu15 hPKfNqoqwUgT39r3jjhrvSkJT1EWEROP21XTev5L+mwX0zVCCjxKOb6uJuagymJyV3EH 813WSeUyMJLuqTFtmfcjy3yr+DsCfsXeGUO8AkaOETkrjYo5k32w8GbvIQS/7bqfJ9Zl 716eyj1sZxVPVI+I5CpWHmPEdUkOQ538g1rOofglDgMaIeIm6G5W/Seos8OQc2OETwOr pHJ2pAlY33uB/UWjay1ZWrHVsHdYs5k5+IaMKPBD4ptcg4BmRl3qXjdEX3hXEZoLghY7 P5Mg== X-Gm-Message-State: AOAM5338l29zFVSe7HSGFcAvk14vC2G3nsNuQFDOHZ0CBAGyZz+bpDK+ 6qiioRt5gqflTgjn82E6ccy/0a1E9sGm8lHtFmQE8jIo9kazlQol X-Google-Smtp-Source: ABdhPJz73rjUdaICTU0RO15Y5L6f9xsVA7DCckaO73wtw5NNyqLVs5MgIkK8BnxUF9ZAo4lyQtZXlrgQ9Vwo65GVV7g= X-Received: by 2002:a2e:7611:: with SMTP id r17mr3851351ljc.519.1637111550572; Tue, 16 Nov 2021 17:12:30 -0800 (PST) MIME-Version: 1.0 References: <371ca983-2b07-ae39-3629-49cf7ff8ee64@heigl.org> <497ab532-a39d-389c-8bca-86768650c2f4@heigl.org> <62c884b8-813e-43b2-b7bc-db87d4b05f9b@www.fastmail.com> In-Reply-To: <62c884b8-813e-43b2-b7bc-db87d4b05f9b@www.fastmail.com> Date: Tue, 16 Nov 2021 19:12:19 -0600 Message-ID: To: Larry Garfield Cc: php internals Content-Type: multipart/alternative; boundary="0000000000006e0e4905d0f1bcf6" Subject: Re: [PHP-DEV] Re: [RFC] Deprecate dynamic properties From: pollita@php.net (Sara Golemon) --0000000000006e0e4905d0f1bcf6 Content-Type: text/plain; charset="UTF-8" On Tue, Nov 16, 2021 at 5:55 PM Larry Garfield wrote: > 1. If we adopt the RFC right now as-is, the market has ~12 months to add > the attribute. If we instead have a default-true flag that changes to > default false in the future, it means at minimum 24 months in which to add > the attribute to opt-in to dynamic properties. > > Okay sure, but that's an argument about lead time, not about implementation. If we agree on targeting 9.0 for this becoming an error (and I think we do), then the argument that's left is whether users get notified as early as 8.2, or if they only get notified as of 8.3. Personally, I want to give users MORE lead time, but having the deprecation warnings come up sooner, rather than later. Assuming 9.0 comes out in late 2025 (guesstimate based on the cadence of 7.x), then including the deprecation with 8.2 (released in late 2022) will give users three years to attach an attribute where needed. If we delay the deprecation notice until 8.3 (released in late 2023), then they only have two years. I know this is the opposite end of lead time than you're talking about (you want max lead time before a deprecation notice even shows up), and here's why you're wrong: Most users don't pay attention to internals. That extra year you give them until notices show up will be wasted in ignorance as they don't know they have any work to do at all. All you will have done is robbed them of a year to implement the escape hatch (though let's be honest, they don't even need ONE year to do it). The only developers paying attention to internals@ traffic are the ones who have literally already added this attribute to their code bases in anticipation of this change. > 2. The RFC as-is has no way for developers to opt-in to actively rejecting > dynamic properties. They'll get a deprecation, but... we're shouting from > the rooftops that deprecations shouldn't be a big red warning, so if you > want a big red warning you can't get that until PHP 9. With the flag > attribute, developers could opt into "please slap me across the face if I > use dynamic properties by accident" in ~12 months when 8.2 ships, rather > than waiting 36-48 months until the likely PHP 9 release. > > Your premise is that, since deprecation warnings will be ignored, we should increase the verbosity level of the warning, but only for people who clearly know that a problem exists and can opt in to it? I'm sorry, but I don't track the logic of that. -Sara --0000000000006e0e4905d0f1bcf6--