Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119513 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 49261 invoked from network); 9 Feb 2023 16:50:37 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 9 Feb 2023 16:50:37 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 8D687180210 for ; Thu, 9 Feb 2023 08:50:36 -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, 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-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (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 ; Thu, 9 Feb 2023 08:50:36 -0800 (PST) Received: by mail-wr1-f46.google.com with SMTP id ba1so2411577wrb.5 for ; Thu, 09 Feb 2023 08:50:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=oSwDwk9WFEv9T1gnY7DmCF/fjPONKYjaNj6ywuxuM/k=; b=LA3XqdXB34LahemW9OGuodujE88vN2TchHazVwEX03RZNsXAtCm4rFl/k6PhgHllig UIWtIqzmXO0XIdygpnxrhO7lk90k2KmRyaU0QU6tJVggkpyS/ER9NOXrheHUXbb4qLD0 t48scuQjBJ9tCFsPxIHWpTJ7AJxlgmPnVMx3mUgJboVzuzSlzNMU8Khedel1gHKvdlfG He7DMDktJphIKSVO3eWb4GU0gRRs5brXyA9JOQ/SFSb+lffcYlTTGq2pFFCgA/0H7Ocu kjJ2MiGJKHQQT4U3mQQIPombnpXgVgmTheWRQhURQfzElM4/piQ7nJTyndhcfWkIvShH UowA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=oSwDwk9WFEv9T1gnY7DmCF/fjPONKYjaNj6ywuxuM/k=; b=Kw//XVckuN2U4ndKoWd1PGobBCEXc9WLk2jECvbhFr3/tVZhPe8ioNI7gjxHycE0NG TmgU+9joZyMUqSuHJj+dol+5STeUIzCG2OiFwRgiAw1F0PNTJ+/MCU2ZzELqutiNCO6J fOdOXUiAKauLu1Kt9CqAYvhcjIcEyCelTZgXoLbPdrsm2541YkDrvapR3iCHVN3+WBcV E6p/T1jukuJSZnv8r/jWIGrn/QVQGFuOu7jiJ+X/J5Ysykb9J4ct9UsbK6dOQbOQC6rr vnzMa87tFNMxHLSHnOoVpcVHRBmi8UUiLEWz2+FbPClrv8dickXu94/jcAWfjh5i2C4O 0Uuw== X-Gm-Message-State: AO0yUKWvjKHrHmbHFYZtVNGMG1Kn1IpQU+IMyRQBsvuHnhEryA3M/elY VOcRXS6GL/etH2EijJy/9hqnviB0MSjUkIAJf3KH74k8GNI= X-Google-Smtp-Source: AK7set9OjrgLstkzi7jhm8gCh/OUDppP7rVnIQMSYJy1Go3Y3ZVUOx3G4w0wDOWBnhnXgzjtPF80u6nHHyaOjuntp7U= X-Received: by 2002:adf:f111:0:b0:2c3:ea83:d300 with SMTP id r17-20020adff111000000b002c3ea83d300mr466281wro.97.1675961435276; Thu, 09 Feb 2023 08:50:35 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 9 Feb 2023 16:50:23 +0000 Message-ID: To: "internals@lists.php.net" Content-Type: multipart/alternative; boundary="00000000000001cb0f05f4472e75" Subject: Re: [PHP-DEV] RFC proposal: values getter in BackedEnum From: rowan.collins@gmail.com (Rowan Tommins) --00000000000001cb0f05f4472e75 Content-Type: text/plain; charset="UTF-8" On Thu, 9 Feb 2023 at 16:18, Sergii Shymko wrote: > > IMO, other variations of array_column() returning a map don't seem to be > useful in practice. > Particularly, what is knowing the case name good for? Do you propose to > resolve it to the case instance like so? > $case = constant(ExampleEnum::class . '::' . $caseName); > My understanding is that backed enums serve the purpose of doing the > mapping. > The same argument can be made for your validation examples: the enum is "doing the mapping" when you use tryFrom. My opinion on this probably comes from my general opinion of backed enums - to me, the opaque case object is primary, and the "value" is just an arbitrary piece of data attached. I would have preferred to be able to attach any number of such properties, e.g. Options::verbose->longArgumentName, Options::verbose->shortArgumentName. Regards, -- Rowan Tommins [IMSoP] --00000000000001cb0f05f4472e75--