Hi Larry,

sob., 5 gru 2020 o 00:25 Larry Garfield <la...@garfieldtech.com> napisał(a):

> Greetings, denizens of Internals!
>
> Ilija Tovilo and I have been working for the last few months on adding
> support for enumerations and algebraic data types to PHP.  This is a
> not-small task, so we've broken it up into several stages.  The first
> stage, unit enumerations, are just about ready for public review and
> discussion.
>
> The overarching plan (for context, NOT the thing to comment on right now)
> is here: https://wiki.php.net/rfc/adts
>
> The first step, for unit enumerations, is here:
>
> https://wiki.php.net/rfc/enumerations
>
> There's still a few bits we're sorting out and the implementation is
> mostly done, but not 100% complete.  Still, it's far enough along to start
> a discussion on and get broader feedback on the outstanding nits.
>
> I should note that while the design has been collaborative, credit for the
> implementation goes entirely to Ilija.  Blame for any typos in the RFC
> itself go entirely to me.
>
> *dons flame-retardant suit*
>

Thanks for taking the topic. I love it.

Regarding the `::cases()` method on UnitEnum I guess it'd be more natural
to cast enum into an array like:

(array) Suit;

but I realize it'd be harder to implement. The question is if it was even
considered?

Regarding the `::from()` method responsible for casting was a natural cast
operator considered instead?
For eg.
$suit = (Suit) $record['suit'];
Instead of:
$suit = Suit::from($record['suit']);

Cheers,
Michał Marcin Brzuchalski

Reply via email to