Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116402 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 70455 invoked from network); 16 Nov 2021 08:11:14 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Nov 2021 08:11:14 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 39728180384 for ; Tue, 16 Nov 2021 01:06:07 -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=-0.3 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A, 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-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 01:06:06 -0800 (PST) Received: by mail-wm1-f43.google.com with SMTP id r9-20020a7bc089000000b00332f4abf43fso1371953wmh.0 for ; Tue, 16 Nov 2021 01:06:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:in-reply-to:content-transfer-encoding; bh=vNGc8NYvJINL8NMQFHOQclOY5vL3feVpD9fq5ToU0XU=; b=Vr6tMuB3zZ6IFLNRoo8FgyUb4Wrjd/Dg1LR8NTlmDjo5/UIqAB4Jph5dxrvZjyqT9Y EdxB4WDTbN7EJztNS521rsGTBm/ne9+aCgJI4O0yK2dP3F3B4YvViu52JFtNALfjd4T0 bYzHTxtHFyCcI68igSbN+MZq/PK4Krsnxzue5I+25649tUht/5l+hu0CRvnfpn1kDDrL Ridr5WS5/tM8iVtIdw2OYA/HbhqM+13vFiiNF3AB7s822B2yLbYxi328L1HBrSkjHQsx 1EBqj2ByQB8en4UCWQy/3NVQTCdj9bHa3ASqS8MPsTYqjOqO+ouf9+JH0VCj4bzjFzvF e2Ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=vNGc8NYvJINL8NMQFHOQclOY5vL3feVpD9fq5ToU0XU=; b=r5m8ULgY4cnf1lmyLWbnUWQmbMe8CYym7T/MDUIpGw7SI/bvgehzBUvGXAo3DHlVsP YEFxUFSYPYPKCi/ctkHFGWF8jXOQfroP2s2VG6temsYcMzHVcJYcviL/fw9JpWaUKLRJ 5XoUbw8FUE7qQNWlAXnvYf6BzCqXt/JOMasOLUz4kO0NNXcwBIfWZqLiAp3HzjXIqxHp YIDF08q2jYvRLaXIjk5t05/NeHrqSJODkvaEjjBHAh7x5Qw8LG6Clq0aqmO/SNZHMulT pAQLMBWS/zvo8FxaNehRnjXOAPXHdB+HdQRSr0ENlUex0Fvy2A887/LpJE0wjQ2+LcHM 6BcQ== X-Gm-Message-State: AOAM531MmcTtkStSORLJbleRsGyPt34RCPzWL4/y+XPJtGTRHTg6CtYU gBtqjYZNSRp7mgGx4QJDz6UtTIdf4a2JXQ== X-Google-Smtp-Source: ABdhPJzEkKUVx+xxBH1HqOoON4AuAf457O0hsDmDIf/yMSS+NTp03+sfaWOAYR0ykBMbNZsppPtA3w== X-Received: by 2002:a7b:cc8f:: with SMTP id p15mr69413097wma.158.1637053565270; Tue, 16 Nov 2021 01:06:05 -0800 (PST) Received: from [192.168.0.22] (cpc104104-brig22-2-0-cust548.3-3.cable.virginm.net. [82.10.58.37]) by smtp.googlemail.com with ESMTPSA id l7sm20808736wry.86.2021.11.16.01.06.04 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Nov 2021 01:06:04 -0800 (PST) Message-ID: <0e1ee90b-fdb7-df28-31f6-24b8fc635c3c@gmail.com> Date: Tue, 16 Nov 2021 09:06:01 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Content-Language: en-GB To: internals@lists.php.net References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Deprecate dynamic properties From: rowan.collins@gmail.com (Rowan Tommins) On 15/11/2021 18:27, Arvids Godjuks wrote: > If a 3rd party package combines fixing major bugs with a release of a > significant version and including also the new attribute that's available > only on newer PHP version? Just to be clear, attributes are designed in such a way that you, and third-party packages, can add this attribute *right now*, in your PHP 7.4 code, with no ill effects. In older versions, it's a comment (as long as it's on its own line); and in 8.0 and 8.1 it will be parsed as an attribute, but simply do nothing. You can add the attribute to every single class, and slowly remove it when you're confident of each class not needing it; or you can collect the E_DEPRECATED messages and add the attribute to every class mentioned. Even in PHP 9.0, there will be no subtle behaviour differences; the code will either run, or you will get an error in exactly the same circumstances as the E_DEPRECATED messages. Regards, -- Rowan Tommins [IMSoP]