Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119934 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 17179 invoked from network); 11 Apr 2023 16:16:17 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 11 Apr 2023 16:16:17 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9AEAF180592 for ; Tue, 11 Apr 2023 09:16:16 -0700 (PDT) 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, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE 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-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 11 Apr 2023 09:16:16 -0700 (PDT) Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-184549428acso6275993fac.8 for ; Tue, 11 Apr 2023 09:16:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1681229775; x=1683821775; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=NvJDFtmyN0iWH95a2lH1PoDiBq/pVqD3NfYpvcyLEhA=; b=B+qnVN9Ex91e88Ih3c5E7AxtX7T1iSRteHmOEdZ7/xOPQFoyLdmLjNt3ua5fAdHRVM A68yPD4zddjqH6cU8FMtXdnBvLoy1iXtZeWuM0kglFmPrNVUuST0QWv4BpaenQ+09rHo 1aptjwS6wB84FHXMIontfgHRWMywgZ0tPvkmoTqYt1WZhDlPlkRZwth9LpspKBmVKr5c mb64O5oVlx1lrl5ZekQsL1SCqCHrASFBc519vGZ1FqsZtaqjPYH7wox+p/766NBa9dDN 61oi0hWPdSApC7hJt+bNHqhygDF3+d8LhEW2+OhByvuosUfNWrT1RlwraeqV86yRDXYF tTVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681229775; x=1683821775; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=NvJDFtmyN0iWH95a2lH1PoDiBq/pVqD3NfYpvcyLEhA=; b=KIb8VtGCkrAw9Ffrdf94TUDwNqk7tAVc1BLVgMs/IztCz88sRIiz7y0Z5ecv8y668e Z8EV8CJqQ8TNKXKmv1WdwI9fy2RFvVbNH5EYntcoazZopAm2fYIwYFFJs6CWYzrFCF7I SZbOWtwzE4nRWcuOR9OsUGqG2cLdtvmuElqnHapwuoiepEeW+zdlO9dzVsrvysEhmzLR YowpJH8Ztu3yAR1PSuZBJ7SrgacuWz68a4dTHPQ/0HLrDVNyJ+P+xgUvXiK/JPXvR9GQ WpGz4zrVxzpy3QjtsFG/Wbxz0hyVOw1s4XbTT4tenNSEPkDNyMGyo1k0HZ6ujAHNK+zc tvmA== X-Gm-Message-State: AAQBX9c3pL4OT2LiZYlkJtl3b/42nJfBWtufKjhGeK6LwVO2Da4v1wpJ wxx+B9sToGcfcITtCDaNUjGZ1UgtgBJtc6PZ9VA= X-Google-Smtp-Source: AKy350YSe6tZQj+6fSl1rjB+wKAo5p5bvXffauFmybm9iNTDbZAycZ4Gdeg5WvSNN9RfF1/5n8qm6rwpRMNClnT0gF4= X-Received: by 2002:a05:6870:3126:b0:184:5ab4:804f with SMTP id v38-20020a056870312600b001845ab4804fmr1799409oaa.2.1681229775551; Tue, 11 Apr 2023 09:16:15 -0700 (PDT) MIME-Version: 1.0 References: <8abbed60-5569-4eca-ad12-957877feed9b@app.fastmail.com> In-Reply-To: Date: Tue, 11 Apr 2023 18:16:03 +0200 Message-ID: To: Sara Golemon Cc: Jeffrey Dafoe , Lynn , php internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] Future stability of PHP? From: landers.robert@gmail.com (Robert Landers) > Can you expand a bit more on your use-case? Here are some things I've deliberately used dynamic properties for: - development proxies (production uses compiled proxies) for remote objects [can use attribute or magic functions] - visitor pattern when hacking on parser packages [in PHP 9, "hacking" will be more complex if underlying package doesn't support dynamic properties] - "tagging" objects [can use weak maps now] - deserialization of user-submitted types to a base class [can just 'decorate' a stdClass] In brackets, I listed the 'solution' for avoiding dynamic properties, but FWIW, having dynamic properties available made it far easier to create 'POC-style' code that could be refactored/rewritten. I personally never saw a bug resulting from dynamic properties, but I might have just been lucky.