Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116395 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 39559 invoked from network); 15 Nov 2021 21:37:18 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 15 Nov 2021 21:37:18 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 924351804C6 for ; Mon, 15 Nov 2021 14:32:06 -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=-2.1 required=5.0 tests=BAYES_00,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-vk1-f180.google.com (mail-vk1-f180.google.com [209.85.221.180]) (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 ; Mon, 15 Nov 2021 14:32:06 -0800 (PST) Received: by mail-vk1-f180.google.com with SMTP id s17so2959563vka.5 for ; Mon, 15 Nov 2021 14:32:06 -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=CRb9AmZ7G1S+TmfKwP6SfDjYrcN91LreE5zz/0DzanI=; b=ef9o6goiEaZ1krJW97DRZfZog+CIXKRjiNdh0bQw6RCsdgFxdupQ6s1FEkoDG2YGxU 65YNk616xt1yO03nzXI7IqHzD8LwtmkFg/soyMWTnKTTQKFmD+NxiR8p4oDeIo9/Sl7p lR4Ov0wULaHFgQ5OcV8Gai1btBiH3zereoShlnCiDXESfZg1gdyFWv8O3r0K6pF6Nl1y Xo098NoBjD/x/GHLKqW4k3gCxF8ST1FXkEtQFVHCb0YxvQHHgLpNK0BeyzpF8Ph8vmug n8WoT2TaOW/dsdMVKpBhYMoM7N6pVKJkPrTMOo387jBTcJWAI5rZxTzhlJRui6gsamfk fBLA== 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=CRb9AmZ7G1S+TmfKwP6SfDjYrcN91LreE5zz/0DzanI=; b=Xo1dTDOpK7H9t5DoU5VpxBd8IBWtqybbD6J3GZejl/jdGcTr6NrUIfS2vc4bjjNRXj teyKp8HXyvcCPZADHK/YNNc1dOPs8SqvJ0v2tSXt9lrW8KiCLwiXmn7Tnq2ZfdrREhls 3o1tvjzf+UIjAaBhuG4NiuhBZ8fwF96I4bKrn79r9RGBcY1zkc9L+yjHfxeKG4PwJTI4 fAlbycoI582cFuGU5zroq/XTYQSAZ/LT1/JeajQwQLL+fdTUc1ipUaOWZXbKid7ByzVR DyG4De0UqydVn/HQF815p1ZSt7G+/WX00sQK52E7QZxlkkO9EGDAwwBWd9GAoJez6Br2 bzWw== X-Gm-Message-State: AOAM530gN9Md6lFqi+ToCBrJJq/f9GTGEs2oFRgmMRPuNEgAJC4VX2/g hcZOI+cQ3i8Dr30sjYvU4fj1yraK9AceIqELVpQ= X-Google-Smtp-Source: ABdhPJyPG5mVa0fp2T2Hik5kY5Bl4CtbOgtavLQZDj3vM/vIsd4NcYG5CI8h6mJFqWA0IoUunktQOspea3ZVjKRwHlI= X-Received: by 2002:a05:6122:2088:: with SMTP id i8mr65458132vkd.5.1637015525388; Mon, 15 Nov 2021 14:32:05 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 15 Nov 2021 17:31:53 -0500 Message-ID: To: Matthew Brown Cc: Nikita Popov , PHP internals Content-Type: multipart/alternative; boundary="000000000000e1f3b205d0db60db" Subject: Re: [PHP-DEV] [VOTE] Deprecate dynamic properties From: chasepeeler@gmail.com (Chase Peeler) --000000000000e1f3b205d0db60db Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Nov 15, 2021 at 4:40 PM Matthew Brown wrote: > On Fri, 12 Nov 2021 at 08:08, Nikita Popov wrote: > > > Hi internals, > > > > I've opened the vote on > > https://wiki.php.net/rfc/deprecate_dynamic_properties. Voting will clos= e > > 2021-11-26. > > > > Regards, > > Nikita > > > > There are two things developers think about when releasing code: > > 1. does it work for me > 2. does it work for everyone else > > With its support for runtime type hints and other similar checks, PHP doe= s > a reasonably good job of aligning those two =E2=80=94 what works for me _= generally_ > works for everyone else, too. > > Using dynamic properties is one of the areas where "works for me" and > "works for everyone else" can diverge. Some people use static analysis to > keep track of those divergences, but if PHP _can_ warn people they're doi= ng > a probably-dumb thing, I think it should. > > Warning someone is very different than not allowing it > I encourage people to vote "yes" on this, if you want PHP to be better at > preventing people from shooting themselves in the foot. What if I want a language where people can shoot themselves in the foot because the flexibility it offers is what makes it great > I know there are > valid uses for this, but it's nevertheless a surprising feature, and not > one that delights many PHP developers. Why is this surprising? It's been available since classes were introduced to PHP. > Making it attribute-only from 9.0 > onwards seems incredibly sensible. > > Best wishes, > > Matt > --=20 Chase Peeler chasepeeler@gmail.com --000000000000e1f3b205d0db60db--