Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116314 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 83568 invoked from network); 10 Nov 2021 13:38:18 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Nov 2021 13:38:18 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 4EF9E180211 for ; Wed, 10 Nov 2021 06:31:46 -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.2 required=5.0 tests=BAYES_20,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-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (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 ; Wed, 10 Nov 2021 06:31:46 -0800 (PST) Received: by mail-ed1-f49.google.com with SMTP id j21so11237481edt.11 for ; Wed, 10 Nov 2021 06:31:45 -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; bh=U2IZf0YLUxcLkQcUzGQIUaDeSVksDCGHbjCHKsJCy5g=; b=YBjQtQAYgTPzgqAw55GqVlAYFO57Qx0OzeRh522DX8MmF6OAZ77xK416LKuQJMaRPh +lh0y94UFlMoLU/d3TDchILbfXAXXYO5ZMITwxCIO5/9gQxuN7nsIa/bxO/HbbNOCqjv vubWu3uQOGzeC62eK6fwG672OxS+7nO1+TwmLRZ/9tN/8I880qM1aQObVXKsI5xFWiLY qgmhD9cLPgj/D6sVCw7GuQHLRZ5OLPLH5hIlsSUfHdOINdNjZFQ92z5sWqT5lh3Bq6CG 6/+4NoewsbZu/D/fu4cdvwlbWwnHUMCuleF5h+6NtTT9NJ7f8tW5cW9ZQ/2rq7zQp85u nOSQ== 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; bh=U2IZf0YLUxcLkQcUzGQIUaDeSVksDCGHbjCHKsJCy5g=; b=jo09SfaaJnywxOOEjJhCboz1zbQxLaU4XyVWBLmmLhHHiRBvTb7Wj91zENkgbPHGTD Md28vEAWcTn+T1a06+MgbwltM+y7SVO73rrCinhFWE7UtX5mJqWDaw4zcGnxi71EXzY3 BYzQCvCTT7p9A2kxDUBxDra6UiGYOT6FmHnM1Mu7QNgteRFFv3HwlBow4xsHNGMXTWwH wGZc83qczassxIPO9S2YrAf6bzZz7JsCXNvNGQ8WjgF11YZwqPkOXuhvuJmqo3zSTjqu L0gowp5J+e7sxOS8HJ0HNsWh7jc3t+E2RrkA8HE1eNHo5pxLBfL9/oq2KotxPZmFvV/V cPKw== X-Gm-Message-State: AOAM533cBHR9cqPcqn+JLHXpPMtBIBAMO5zpJOeCEjMv2cZXIVTGU0H0 z6O/Umk+SDpgaKa/siAN/yGpXc+KqMG3CH1T6uAO/5Zj X-Google-Smtp-Source: ABdhPJy630kHXOzSIfIBOT2mqC0kyq30g+zNbeZe4hcI9D7bAv8duymNcd7HGPejcMR64FuGo2l4j9xJGy1My/uAzZQ= X-Received: by 2002:a17:906:f74a:: with SMTP id jp10mr49151ejb.358.1636554702140; Wed, 10 Nov 2021 06:31:42 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Wed, 10 Nov 2021 15:31:26 +0100 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary="000000000000ad375a05d0701586" Subject: Re: [RFC] Deprecate dynamic properties From: nikita.ppv@gmail.com (Nikita Popov) --000000000000ad375a05d0701586 Content-Type: text/plain; charset="UTF-8" On Wed, Aug 25, 2021 at 12:02 PM Nikita Popov wrote: > Hi internals, > > I'd like to propose the deprecation of "dynamic properties", that is > properties that have not been declared in the class (stdClass and > __get/__set excluded, of course): > > https://wiki.php.net/rfc/deprecate_dynamic_properties > > This has been discussed in various forms in the past, e.g. in > https://wiki.php.net/rfc/locked-classes as a class modifier and > https://wiki.php.net/rfc/namespace_scoped_declares / > https://github.com/nikic/php-rfcs/blob/language-evolution/rfcs/0000-language-evolution.md > as a declare directive. > > This RFC takes the more direct route of deprecating this functionality > entirely. I expect that this will have relatively little impact on modern > code (e.g. in Symfony I could fix the vast majority of deprecation warnings > with a three-line diff), but may have a big impact on legacy code that > doesn't declare properties at all. > I plan to open voting on this RFC soon. Most of the feedback was positive, apart from the initial choice of opt-int mechanism, and that part should be addressed by the switch to the #[AllowDynamicProperties] attribute. Regards, Nikita --000000000000ad375a05d0701586--