2011/6/3 Marcel Esser <marcel.es...@croscon.com> > On 6/3/2011 8:27 AM, Dennis Haarbrink wrote: > >> As soon as I have my requested write permission in the rfc namespace i >> will >> update it. >> >> -- >> Dennis Haarbrink >> >> >> 2011/6/3 Pierrick Charron<pierr...@webstart.fr> >> >> Hi, >>> >>> The RFC was supposed to be a draft (i didn't really added it in the good >>> section) and was written more to introduce the idea and make people think >>> about it. >>> Feel free to update it with any idea, concern you may have. >>> >>> Pierrick >>> >>> >>> On 3 June 2011 03:26, Dennis Haarbrink<dhaarbr...@gmail.com> wrote: >>> >>> One thing I would really like to see in 5.4 is enums. >>>> There is already an RFC for that: https://wiki.php.net/rfc/enum >>>> >>>> This was discussed in february this year, but no consensus was reached. >>>> IIRC, the most notable problems were: >>>> - What is the 'value' of enum constant: string or int, user defined >>>> scalar, >>>> defaults >>>> - Ability to make enums more 'class like', some people wanted to be able >>>> to >>>> add methods. >>>> >>>> Another thing which was discussed (and I think most people agreed on >>>> that), >>>> but is not in the RFC: type hinting in method signatures. >>>> >>>> >>>> I think we should keep this simple proposal simple, let it be an enum in >>>> all >>>> its simplicity. >>>> The toughest part would be to decide what would be the default value. >>>> Some >>>> proposed to use the name of the constant, which is imho best for >>>> debuggability (i like this one the best), or an auto incrementing int, >>>> saying that it is better performance wise and which is more analog with >>>> mysql's enum type. >>>> >>>> >>>> So, to sum up: >>>> - Do we really need enum level methods? >>>> - Need to reach consensus on default values (strings vs auto inc. ints) >>>> - RFC needs to be updated, explaining the type hinting of enums in >>>> method >>>> signatures >>>> >>>> >>>> >>>> Regards, >>>> Dennis Haarbrink >>>> >>>> >>> If I might raise the question, I am also really interested in how enums > could respond across namespace. Personally, I am not entirely sure about the > ability to add methods to enums. That sounds like a class, to me. However, > the second example on the RFC of use-case, wherein the developer uses a > class to contain constants, sounds to me like a namespacing issue. Would > enums be objects that are within the scope of the namespace, like classes, > or would they be global? I would personally favor they remain in the scope > of the namespace. That removes the need to prefix them with any sort of > pseudo-namespace (like a class, for example), and it prevents collisions, of > course. > > - M. > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >
I'm also not so sure about inlining an enum in a class. I think they should always be first class citizens. And as such they adhere to the same namespace rules as classes. Maybe Pierrick can clarify his intentions. -- Dennis Haarbrink