Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116520 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 29310 invoked from network); 25 Nov 2021 23:12:12 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 25 Nov 2021 23:12:12 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 73B4E1804B5 for ; Thu, 25 Nov 2021 16:09:31 -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.1 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, 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-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.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 ; Thu, 25 Nov 2021 16:09:30 -0800 (PST) Received: by mail-qv1-f49.google.com with SMTP id m17so5828025qvx.8 for ; Thu, 25 Nov 2021 16:09:30 -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=j24GIt2iudowzuooeW8UT3Bzs+PSE4dkZPfFRUmxcIY=; b=SKTmNNPOkWhl/CBOW9SPVARe3+P/UYMQ9KJHGGVsrGsO22+HzV8Eqb1V4lI0TxbvRn WawnkBOL+LJpti1Agf3GJDt/70o/UTq/xNlZjmetVpuUJiK4bldbnUSUv8NayXpAc2Lo 0Y9Wx9ci/uQqbMwB+7K+iLovVKPPGjfyUN/A7ELaresVYr4OvYIbm3zhtmZaFuHXVgI0 NikJRI+xMD2Z6aRkZJxlvSjR5uPVX3gXYmQ2VdrAkf4Br904dicemqFIiBXcyKuR8HMF f5zgT5Vewh/HKpc2xF3z1kFh6RyNc/QpWPOSMsczE5Zi1sTrU5QUG8gleOLzIG2ODer7 n3hg== 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=j24GIt2iudowzuooeW8UT3Bzs+PSE4dkZPfFRUmxcIY=; b=8Q+wAkP8D5NqS4t2xzHd4tuzJl1bMCjai18hcLCzcQgBsA3Vcmtem/3ep5PqdX9UWi AiBuY2pqv6ArKch3mW85hOvvUIyJRb+XIAZQwmGbKAPb0s4QlJ4i+SZbLR0JggplTPG4 NICSU/RHDmm3YMDzfJSxFiP7Kf5VudnsQmi66HYxUqzn+OKjOuyFN9k9TNKPx19Af5ut 3qMHmdy+ZxJD1bAeR+gyh6POfqSUZ09RzFvdOMOx84PmOMmBacmnTRY/ExCkVSiag60y U227cScYobjd+2DhkQzq0VgGuiz7UXQvqQqEZ5DXVyXAkhU9bLACrHUVc/QGTvyeN04n tNRQ== X-Gm-Message-State: AOAM531mmojDMJlrNDj/ef4zcpN0qlts3F6qKjALA0BXb8q4Xu0sKBC1 Z4Dh4loXMifmOb7+eRl4RZBf9yvmzU6z7yFsis+Htb7ktYs1Mw== X-Google-Smtp-Source: ABdhPJwkt3yYJKPgWoNs1M2FP9CaMU6JD1GwsgwkchNYSEx8QmYnfjyTCI1CIiVpPD686kok2oXPxpVB2H7pYo99BIo= X-Received: by 2002:ad4:5cef:: with SMTP id iv15mr9683198qvb.85.1637885370257; Thu, 25 Nov 2021 16:09:30 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Fri, 26 Nov 2021 00:09:19 +0000 Message-ID: To: Brady Wetherington Cc: PHP internals Content-Type: multipart/alternative; boundary="000000000000ad592405d1a5e79e" Subject: Re: [PHP-DEV] Re: [VOTE] Deprecate dynamic properties From: tekiela246@gmail.com (Kamil Tekiela) --000000000000ad592405d1a5e79e Content-Type: text/plain; charset="UTF-8" Hi Brady, This is a little bit overly dramatic. This isn't such a huge change that would affect 50% of existing projects. It's likely to affect a small number of projects in a very limited way. It's also not true that developers will slap #[AllowDynamicProperties] on every class. That would imply that every class in their project is using dynamic properties. That would be absurd. If it's truly the case that every class in 50% of the projects uses dynamic properties then we should not consider this RFC at all. The whole premise of it is that it's highly unlikely that many people are using dynamic properties on purpose. It's true that many old unmaintained projects might use it as a feature, but the keyword is "unmaintained". I would not trust dependencies that haven't been kept up to date for a few years. PHP has had many breaking changes over the years. PHP 8.1 introduced a much more annoying deprecation: Deprecate passing null to non-nullable arguments of internal functions. This one I would have no trouble believing that it impacts 50% or even the majority of PHP projects. Dynamic properties compared to this should be a piece of cake. I doubt that having to add a single attribute to a selected few classes would be such a major issue that projects would decide to stay on PHP 8.1 rather than upgrade. It's not comparable to Python 2/3 situation IMHO. I would be interested to know some numbers from Snipe-IT. Have you done a preliminary analysis of your codebase of how many classes are actually using dynamic properties? From a brief look, I can see that usually most properties are declared. Regards, Kamil --000000000000ad592405d1a5e79e--