Re: [RFC] Enumerations
| From: | Max Semenik | Date: | Mon, 07 Dec 2020 20:20:42 +0000 |
| Subject: | Re: [RFC] Enumerations | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-112462@lists.php.net to get a copy of this message | ||
Thank you so much for moving this forward, Larry and Ilija! I myself have
tried to draft my proposal at https://wiki.php.net/rfc/enum_v2 which has
aspects both similar and different from yours. And "v2" is another
indicator that this feature is desired by many, so yay.
On Sat, Dec 5, 2020 at 2:25 AM Larry Garfield <larry@garfieldtech.com>
wrote:
> https://wiki.php.net/rfc/enumerations
A few comments:
* Having to write "case" everywhere is extremely verbose, I can't think of
a popular language that requires so much typing in this area. Can the
keyword be omitted completely?
* Performance concern: I suspect that most developers will not use the
advanced features from this proposal and your future plans much, instead
they will want to use it in very simple contexts, e.g.
"$order->calculateWeight(Weight::Gross)". Would every such call require an
object allocation and initialization? What about comparisons, would
expressions like "if ($cardType === Suit::Clubs) ..." require a new object?
* What do you think about the part of my proposal that allows omitting enum
name where it's obvious from context, e.g. "pick_a_card(Clubs)" if the
declaration of pick_a_card() requires a parameter of type Suit?
--
Best regards,
Max Semenik