Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116406 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 80798 invoked from network); 16 Nov 2021 09:28:36 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Nov 2021 09:28:36 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id AA39D180540 for ; Tue, 16 Nov 2021 02:23: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.6 required=5.0 tests=BAYES_50,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-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.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 ; Tue, 16 Nov 2021 02:23:31 -0800 (PST) Received: by mail-io1-f47.google.com with SMTP id v23so25316648iom.12 for ; Tue, 16 Nov 2021 02:23:31 -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=uEkCp39wPepXd5V8Gm6lJ1AHISKAXkYwPHK+XpoJ4YY=; b=UQinfLiWnXPLBKBQVswICMiRNpT5Z5kWAkeABX7UJ7G64Qy5VbblN83IKEAwP+k6kl 5L/2i+33jL6TUE9LW1IA849cDyRdJi2BrKcYWYVT1OBZzbQJaaZklCQOC14/AXDFlKsi N5L7V7Kk5J0aKFY1TNbBz7ErTl8zArLIHmv47fOJ+QW15lRJEf8mNlJPNDr1F283fn5g BHGncverjpE4BZrAr2VBbKyB3T6NBZieHQPEWVtPDLizaVr7gy2xgBtDQ2fe3+2NG77a dS5BLH92zclroihM7jQZs0zEJCT2dtZ2okgNTJY3Aef16Dtb+2YlBcn0BIlUdoyUNCCb Jn7g== 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=uEkCp39wPepXd5V8Gm6lJ1AHISKAXkYwPHK+XpoJ4YY=; b=r3qhHxgq6F9ZXaPXvlxgCp+BgraT4F9A/lmIlLEFu2J8BlydSeg6rbHyjjW4ErehY3 9JR5AtUT93JDBJBRopQvoci4ArQYUaSNGnyiCsf5u6PopDNzCaWI2gDh/B6l8KHSYgW7 w5+gHgCpgxD32PCqlIZQ///gV0ofSEgbK4ouruxcSf0pTrTfINy6G+XkI7rMPRC9ULT0 oxxbY6+nMH/khyRehudUn6ey8CKZl9ADfNOBEcLS0eOBVNbDro/Tl8mTha/qfgqRFLrt Vs1DHcAlhTO3gOCy/rP+aqf9Rl748vhztFHCTqZyyMGxjpZQKK9MYxDkpbz4zMhiWlSK cwiw== X-Gm-Message-State: AOAM530KIxJd2VF47Uv+fNf3657V0NyBz5AumVL3tmiI46a5x4xNDQoI QQgnOhBEDQynxrWLN8EbiqGe7TyMJzQ= X-Google-Smtp-Source: ABdhPJzZ5icbE4xCW54XLfuyaCxLnWdgoT0o1I6WCIY6l5eVkUzbBdUxbk/tGuwhnFNxcWXW66uozA== X-Received: by 2002:a02:cb8f:: with SMTP id u15mr4530260jap.131.1637058210577; Tue, 16 Nov 2021 02:23:30 -0800 (PST) Received: from mail-io1-f54.google.com (mail-io1-f54.google.com. [209.85.166.54]) by smtp.gmail.com with ESMTPSA id v62sm10083320iof.31.2021.11.16.02.23.29 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Nov 2021 02:23:30 -0800 (PST) Received: by mail-io1-f54.google.com with SMTP id m9so25463843iop.0 for ; Tue, 16 Nov 2021 02:23:29 -0800 (PST) X-Received: by 2002:a05:6638:32aa:: with SMTP id f42mr4436566jav.115.1637058209779; Tue, 16 Nov 2021 02:23:29 -0800 (PST) MIME-Version: 1.0 References: <6192EEDA.8050900@adviesenzo.nl> In-Reply-To: Date: Tue, 16 Nov 2021 10:22:54 +0000 X-Gmail-Original-Message-ID: Message-ID: To: Deleu Cc: php-internals_nospam@adviesenzo.nl, PHP internals Content-Type: multipart/alternative; boundary="00000000000012274305d0e551a2" Subject: Re: [PHP-DEV] Re: [RFC] Deprecate dynamic properties From: phpmailinglists@gmail.com (Peter Bowyer) --00000000000012274305d0e551a2 Content-Type: text/plain; charset="UTF-8" Hi list, On Tue, 16 Nov 2021, 00:21 Deleu, wrote: > I see a pattern in these discussions from two mindsets: one thinking about > how we should design the future and another thinking about how we preserve > the past. I would frame that differently as those who 1. Predominantly write new code (most of us on this list I expect) 2. Use ecosystems written in PHP (talking from personal experience I have WordPress and Drupal in mind, but I see it with Laravel and to a smaller extent Symfony users too). Both approaches are massive audiences for PHP and both have different needs. For the second group, finding that something you built on no longer works because "PHP changed" is a problem, in a way it isn't for members of this list, who would likely fork and fix it. It's easy to use the glib response that "it's open source, they should get their hands dirty" but for many, knowing how to get started is a barrier that stops them. Making a big generalisation, this audience is hugely proud of what they do manage to accomplish and can be hugely vocal proponents for PHP (ecosystems). Yet it's not always lack of knowledge either that makes small backwards-incompatible changes a problem. If you're a small business your focus is elsewhere and what those working at larger and highly profitable or well funded companies see as a small expense (however annoying) is a big loss of other opportunities that a small business could use to grow. I see this with some clients, where a day is a big deal, and a day spent testing an upgrade is a day not spent fixing the problem 5% of customers have. I take it as read that we want to continue serving both audiences. On improving PHP, there is a prevalent view on this list that the competition is people going to other programming languages. The hidden competition is people saying "keeping up isn't worth the effort" and switching to centralised SaaS offerings. We see all the good reasons for doing this playing out in our own "Switch to GitHub Issues" discussion. It's happening enough, we don't need to encourage it. Returning to this RFC it may surprise people that I like the idea of only having dynamic properties on stdClass & children. I don't go as far as saying "this is how it should have been from the start" as the culture was different when classes were introduced to PHP. But dynamic properties have been around since the start and I am wary of deciding to remove them in PHP 9. Kind regards, Peter --00000000000012274305d0e551a2--