Elizabeth M Smith wrote: <snip>
This can be solved in three ways.1. Greg's "leaf" solution foo::bar->baz(); - namespace foo::bar, function baz foo->bar::baz(); - namespace foo, static method bar::baz Personally I don't like this, get confusing even if we pick some weird operator like :> 2. Don't allow functions or constants in namespaces Simplest solution but appears to piss off all the people who have never actually used the current implementation or hate OO on principle 3. Steph's idea - Change the separator (I vote ':::' - easy to do, similar to what we have already) foo:::bar:::baz(); - namespace foo:::bar function baz foo:::bar::baz(); - namespace foo, static method bar::baz
Honestly, either the tough choices must be made soon or namespaces has to be held until 6. IMO
From my experience using namespaces #1 AND #2 would make namespaces solid (again IMO). The only thing for #1 is that I wouldn't want to see -> reused, as others have mentioned. Maybe :> or something else. Same for #3, :: just causes confusion. I don't really care what it's changed to, ::: is fine, it just cannot be ::
Take a look at what autoload gets when an undeclared namespace, class, whatever is called. That will give you the idea on how autoload doesn't really know what is being called. With the change in #3 and addition of #1, it would be possible to know what is being called.
<rant> Seriously, why is changing :: seem like such a problem? -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
