2008/6/26 Derick Rethans <[EMAIL PROTECTED]>: > On Tue, 24 Jun 2008, Rasmus Lerdorf wrote: > > > Derick Rethans wrote: > > > On Tue, 24 Jun 2008, Alexey Zakhlestin wrote: > > > > > > > it won't be a serious 'wtf', as on the top of the file, there > > > > would be some kind of use MySuperLibrary::DateTime; > > > > > > I know, but 400 lines down in the code you can't really see that. > > > This addition might fix the immediate issue - but it doesn't make > > > life easier for the developers that have to maintain the code. Even > > > less if they're not aware that stuff is namespaced. > > > > If we don't allow it to work this way, then I really don't see the > > point in namespaces at all, which I assume is the point you are trying > > to make. > > Actually, the point that I was trying to make is that we instead of > encouraging this confusion, we should put somewhere in our userland > nameing guidelines that you still would need to provide a prefix to your > (aliased) classnames in order to prevent confusion. But that then > seriously means I see no real good reason still why people want > namespaces with confusing resolving rules (concerning static methods > like Greg points out). > > regards, > Derick > > -- > Derick Rethans > http://derickrethans.nl | http://ezcomponents.org | http://xdebug.org > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > How bad would it be to say that namespacing can only apply to classes and not normal functions?
So. class::static(); namespace::class::static(); namespace::namespace::class::static(); they always work. namespace::function() would fail as namespace would be seen as class. If a class and a namespace share the same name ... namespace::function() vs class:static()... how is anyone, let alone PHP, going to know. It can't. If both forms relate to a valid entity, then it is always a guess as to which is intended. You could make namespace:: have a higher precedence than class:: (or the other way around). But that feels like a fudge rather than a fix. So, maybe, in the short tem, namespacing only applies to classes. It was my understanding that one of the primary reasons for introducing namespacing was to protect against userland_class vs builtin_class collision. Regards, Richard Quadling. -- ----- Richard Quadling Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 "Standing on the shoulders of some very clever giants!"