Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:117425 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 76643 invoked from network); 25 Mar 2022 11:07:59 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 25 Mar 2022 11:07:59 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 07DBF1804C9 for ; Fri, 25 Mar 2022 05:35:13 -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_40,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, 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-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) (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 ; Fri, 25 Mar 2022 05:35:12 -0700 (PDT) Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-2d07ae0b1c4so81046637b3.11 for ; Fri, 25 Mar 2022 05:35:12 -0700 (PDT) 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=UYxh+pHSq/FzN/g2dzJ1PWUs0Y6iSs2UsYvf7aHJBNs=; b=fjz+OCYwKRTQ0CmdZf3DUV7tqbUc5te0aOHgZNB1so5XtCnBVyHtKc/yWXULptbwvh 8rcc/r98BbnQMoKeH/KA8da/W+GHryVXYdDxdR2o7xZbWgKg7hYTbJjNgSsqybyqehD2 munEpreVXUn11Mkx2J+CrarfI2z/C+ghtcB5nIMh2WNFa6AvhDedVxnF3mfXjF10WQyJ Fv1FwZFiq4DjlVGEChWPDu13J1QtAwTo6il05QegM8rYsBsVmI5PosRp1PYuoNOfAILg oQzJ9jj23jof9m2TVC+0I0CPBYJDQOjTQGlAdIK8fxrPulTN+Ih8mrtnYd1Nrdo1bbVF 9SUg== 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=UYxh+pHSq/FzN/g2dzJ1PWUs0Y6iSs2UsYvf7aHJBNs=; b=q6rn5jnijY+hVN3mGA+3uXwxgIl8OFDKVAVUaLtbJ60LyhYI8NxI07ebA5hiiFcmfI t3rd4+3xQpKKo0TMRt1wuDdIicMVB+ShFNCaWSBal7/5cCRJIyQXpMgcgF83pMYeNoH4 kY+Hx5YW3oTo9K9TuZ3Bi95rmOInwKu8/nuQ4xZ6AgNActQknUh2nL1YgG0sgKDyIafa DvmSSidwfQO9K1dbYD7AWViq5Fm7mNZDD7FU9ngoQ5DGQasylRmxwxt7YYFUzuYIIZbn p90c3ZL1wTMpnfFJOAptM5RF2Yg5kP/Zlt98uV64WnQ+vqHJzyReMUx1omvhXsVNDqBx BzQQ== X-Gm-Message-State: AOAM5335XEwJq29bi2XuwDBLu2I8ctQhYytRVjQEibJYpLG/ir0rV3qw 4BrF1pK0T56s2ayrPq8HmbI+8lUX4/4TwxZZgA== X-Google-Smtp-Source: ABdhPJynRNeATLnjz73ec71h5S37re5pWfGvvybNV7fODyCRFkR2mKGRvgUHVvZvnkAw1oMOYMjcSRaBLwkf+XDSE/8= X-Received: by 2002:a0d:d68e:0:b0:2e5:9f48:a24a with SMTP id y136-20020a0dd68e000000b002e59f48a24amr10545406ywd.151.1648211711889; Fri, 25 Mar 2022 05:35:11 -0700 (PDT) MIME-Version: 1.0 References: <76c399cb-fb29-4583-a212-8eb69740c96b@www.fastmail.com> In-Reply-To: Date: Fri, 25 Mar 2022 13:35:01 +0100 Message-ID: To: Mark Niebergall Cc: php internals Content-Type: multipart/alternative; boundary="0000000000009a14c405db0a3122" Subject: Re: [PHP-DEV] Typed constants revisited From: guilliam.xavier@gmail.com (Guilliam Xavier) --0000000000009a14c405db0a3122 Content-Type: text/plain; charset="UTF-8" Hi Mark, On Wed, Mar 23, 2022 at 11:55 PM Mark Niebergall wrote: > (...) > > Another example I often see in my projects could be used with a similar > example: > > ``` > abstract class Bird > { > public const bool CAN_FLY; > public const string FAMILY; > public function canFly(): bool > { > return self::CAN_FLY; > } > } > final class EmperorPenguin extends Bird > { > public const bool CAN_FLY = false; > public const string FAMILY = 'penguin'; > } > ``` > I had this "need" too (and used abstract static methods where the implementations just return a literal value...). Just 2 remarks: in abstract class Bird, shouldn't it be: - "*abstract* public const bool CAN_FLY;" (and same for FAMILY) - "return *static*::CAN_FLY;" ? Regards, -- Guilliam Xavier --0000000000009a14c405db0a3122--