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