Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118970 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 5598 invoked from network); 4 Nov 2022 20:06:20 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 4 Nov 2022 20:06:20 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 864C6180210 for ; Fri, 4 Nov 2022 13:06:19 -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.8 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,MISSING_HEADERS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (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 ; Fri, 4 Nov 2022 13:06:16 -0700 (PDT) Received: by mail-qk1-f171.google.com with SMTP id k2so3744411qkk.7 for ; Fri, 04 Nov 2022 13:06:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=DAwTkDcbSL1HnSPOWpJ+cJ7zavCkx5pwaKWzzuYdQ30=; b=lGFdGdugWM7scA2JqRVVfUvB1N18KCNJOdxXgd8YdQo7CnxPYDIo1LuhhcYUY0GEId Xrv1HeVnA1Nw7gtGk9GcHbx0qEtQVPMW1XJjiY0pNkkR50voWzLXfaPcogcG6RLRMxc2 Szl/V8UZgKi2v0s0aNbYS+ox2ort3WzrkZz8jXocUxZNBK+Z+xo8bHtdA6IXEu3JR27q +ez2GsUgbC4gz/9zVaPOEwKtAmj3g98WXzz5xHG4Hqb2LvBU7J6U3ZqxP6U6V9yVlA/z rmA09hUEirdjsiXCIHCEotgmD02v9FcWoGqYEhemsSsJK7+snydIqmYnjUYaCs/J9uXT vX/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc: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=DAwTkDcbSL1HnSPOWpJ+cJ7zavCkx5pwaKWzzuYdQ30=; b=c5fOBbmo82bb5sjEeLJmY7xD1fFG9VgEKrvUwNqw+CfhMjVs4d+TU+qkIUd/B+3SaP Bm6PxclJRibIF1kO+l+ZmWKjsdOxDPBcv9ALCiBnW/6fPmkymdS+TFIx6Ily54dl7NeZ BrkSx+TGIHOdbY4reu48EfE1gTys3Qt9dgIylU97LAMpzCEIW8Vp+/vEr8/gC4zmeKmQ Q58BJuY8El0W//u4N09gRf92bGJLz6gbPjZFvPNjKiSPVag6NiKN9lL9m15dRef7xctR 02UOL2rWzkPZfoJrJcdubN0xnnxU10h8bQ3SYSE4vbuPCF+m1fTnShIK7R3gUNcLfKTW aF+Q== X-Gm-Message-State: ACrzQf1TsrBpp8ekXrouHFedfXWTrYWPH63hRKX1Pn98ZiYcAGaCAeCj quKGvJc/JKpQHEfptL3KKHVevXQNORfRXdtaQ1/JRY8/O0Q= X-Google-Smtp-Source: AMsMyM6G2oTkZRJvzjtkNL5UIAyPiFLSuvZPMyKV7t5oAueA4eMpfNOa8G3SCfoEnHA1nC4SQzh1zh8w/hvf227v7l4= X-Received: by 2002:a05:620a:15d0:b0:6fa:4395:e6b5 with SMTP id o16-20020a05620a15d000b006fa4395e6b5mr17292016qkm.590.1667592375052; Fri, 04 Nov 2022 13:06:15 -0700 (PDT) MIME-Version: 1.0 References: <504f616c-05c1-45ef-991e-2b4c79f72d07@app.fastmail.com> In-Reply-To: Date: Fri, 4 Nov 2022 16:05:48 -0400 Message-ID: Cc: php internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] [RFC][Dynamic class constant fetch] From: weirdan@gmail.com (Bruce Weirdan) On Fri, Nov 4, 2022 at 10:49 AM Marco Pivetta wrote: > What's convenient about `Foo::{$bar}` vs `constant(Foo::class . '::' . > $bar)`? I'm a bit confused by this :| From the static analysis POV `Foo::{$bar}` is way better, as we can immediately see that the code is trying to access a constant of a specific class, and we can, e.g., flag those operations that did not validate that `$bar` actually exists as a Foo constant.