On Mon, May 17, 2021, at 9:16 AM, Michał Marcin Brzuchalski wrote:
> pon., 17 maj 2021, 16:02 użytkownik tyson andre <tysonandre...@hotmail.com>
> napisał:
> 
> > Hi internals,
> >
> > I've created a new RFC
> > https://wiki.php.net/rfc/enum_allow_static_properties
> >
> > Although enums are immutable objects, it is often useful to have functions
> > or methods that operate on enum instances.
> > In many cases, it would make sense to declare that functionality as static
> > methods on the enum itself.
> > In cases where static methods require shared state, it would be useful to
> > allow storing those shared state in static properties.
> > To ensure immutability of enum instances, it's only necessary to forbid
> > instance properties, but all properties were forbidden in the initial
> > functionality included with the enums RFC.
> >
> > This RFC proposes allowing static properties in enums, while continuing to
> > forbid instance properties.
> >
> 
> Would you be able to provide more real life example?
> The example in RFC could easily encapsulate current Environment reading in
> for eg. EnvironmentConfiguration class with static property and method and
> TBH possibly that would be my preference to solve this.

I would agree.  Static properties are ugly to begin with.  They're globals with 
extra syntax.  I have no desire to see them on enums.

Also a clarification, since it wasn't entirely clear in Tyson's original email: 
Static methods on Enums *are already supported*.  They were included in the 
original Enum RFC.  The change proposed here is just about static properties.

--Larry Garfield

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php

Reply via email to