2008/10/15 Greg Beaver <[EMAIL PROTECTED]>: > > Read it and discuss.
Hello, First of all I'd like to thank Greg for his efforts to move the discussion in a positive direction. From a PHP user's point of view, it's comforting to see that this kind of discussion can still take place with a cool head and methodically. I have a question about #1 and #2: aren't they functionally the same? Based on current resolution rules (the ones used in the engine, not the ones currently documented in the manual) it is my understanding that there is only ever one namespace [resolution] operator and no namespace separator, because there is no hierarchy in namespaces. The "::" people use (myself included) to separate tokens in the namespace's name are for decoration only (a "visual aid", as per the old RFC) and they have no meaning. Therefore, users should be able to use any number of consecutive colons in a namespace name, before the namespace operator, just like we can use any number of consecutive underscores in class names and anywhere else. If the "::" contained in a namespace's name are separators, doesn't it mean that namespaces are de facto nested? Which brings me back to the current documentation, in which "new B::C" inside of namespace A would create an instance of class C from namespace A::B, as opposed to the current engine where it returns an instance of C from namespace B. I don't know if I'm reading too much into it, but as a user, the existence of "namespace separators" means to me that there multiple namespaces and that they are nested and it leads me to expect the old functionality (instance of A::B::C). Since that's not the case anymore, I wouldn't expect the number of consecutive ":" to be limited, making #1 and #2 the same. In fact, I wouldn't expect colons to be authorized in namespace names at all. Hoping I'm not opening a can of worms :) JD -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php