Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116394 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 36060 invoked from network); 15 Nov 2021 20:45:55 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 15 Nov 2021 20:45:55 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id AB71F180510 for ; Mon, 15 Nov 2021 13:40:42 -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-vk1-f170.google.com (mail-vk1-f170.google.com [209.85.221.170]) (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 13:40:39 -0800 (PST) Received: by mail-vk1-f170.google.com with SMTP id a129so9956137vkb.8 for ; Mon, 15 Nov 2021 13:40:39 -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=NWOMI/UVaTACO05ViPizouvT24uAfcmMkjK1t2NtwCQ=; b=gGO7PvI3DkD8Yi2Y0LrQHxJCg1XqKG9s6dEYVXSUnzH9Ja7m3RRXX2tf3ZgY/LQqvq H2xC/0MLyRECgkpvVLWc/2qSNHBth4mRWKwTIebaEvEqW68aisIEOIgH6raGEUkhLzyS +yr7EBggMnbrXhe5cvyu4l0MtYwBEugH8JdirBMObuIXpFmpXBkAPaJGTySsjUa4gtRL vtX+jkShOF7ZDuMNyY8WnAfMVYgTQplH5dLH2T2SFHma48ynzQ7L0aWrNAritELrFsUc lFRlI3s3Jzo03u1rGpkSrf2rYgAY4RKiHB/EaNHCDu0Dxrcor2ZEgcsYJUkENlXme4T8 i9mg== 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=NWOMI/UVaTACO05ViPizouvT24uAfcmMkjK1t2NtwCQ=; b=ktC4OFqhHTWJto2ahc290hj52e1mxytHzUbEqI070F8JJ2wn7ccBPMIaDqSesSzxQs 3reZuIcOvKzAW27mC3wc/P9mpseaN7JeEc+8trsuvrgG7b69FcWELaIoqbbNMGOqHoKF KIek6OfX171vPbH0vyxnylDVYUXfkE7eYAI4RcVR0IqfHpMsG8mAJl2PtnvnRSMh5Nf5 fALx/q9oZmPvO9TJAcoiltHTTi9Tr1vZ9jtUHnxZYzLBSfFmPe6uTSf20mxu4FwFaqLx 2f3mER92v+m5LhGgD+t5o4O7S9cE2v4xNxRsJfc6yug/BpJpcWQ5E4/SwTchItu+BrVa xqUw== X-Gm-Message-State: AOAM532ypNWiCTunTitGCYkMFiMFPCa/Yh5jjydlIrkDEGIv0THjKxLV bcDv+k3G14RL3BQwM+aq1yrNprmW4ckO6bqEwzs= X-Google-Smtp-Source: ABdhPJwOqZqZQcW9KHQE/iuj9dXvtMB+CTwBKQJRt+yPv8GgZBUr8BIWRTTuU7hhPkOv7zYgQSh8+N19esMI2QqZR+o= X-Received: by 2002:a05:6122:1803:: with SMTP id ay3mr65146285vkb.24.1637012438565; Mon, 15 Nov 2021 13:40:38 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 15 Nov 2021 16:40:27 -0500 Message-ID: To: Nikita Popov Cc: PHP internals Content-Type: multipart/alternative; boundary="000000000000e4c50205d0daa84b" Subject: Re: [PHP-DEV] [VOTE] Deprecate dynamic properties From: matthewmatthew@gmail.com (Matthew Brown) --000000000000e4c50205d0daa84b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 close > 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 does a reasonably good job of aligning those two =E2=80=94 what works for me _ge= nerally_ 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 doing a probably-dumb thing, I think it should. I encourage people to vote "yes" on this, if you want PHP to be better at preventing people from shooting themselves in the foot. I know there are valid uses for this, but it's nevertheless a surprising feature, and not one that delights many PHP developers. Making it attribute-only from 9.0 onwards seems incredibly sensible. Best wishes, Matt --000000000000e4c50205d0daa84b--