On 16 June 2011 14:03, Martin Scotta <martinsco...@gmail.com> wrote: > > Martin Scotta > > > On Thu, Jun 16, 2011 at 9:40 AM, Richard Quadling <rquadl...@gmail.com> > wrote: >> >> On 15 June 2011 17:23, Stas Malyshev <smalys...@sugarcrm.com> wrote: >> > Hi! >> > >> >> With pecl/http (DEV-2 branch) and the Functional extension (on github) >> >> both creating namespaces within the extension, I think there is a >> >> requirement for a mechanism to allow an extension to record the >> >> namespace(s) that it has, in a similar fashion to how functions and >> >> classes are known to core. >> > >> > There's no such thing as "registered namespaces", at least in the >> > engine. >> > Namespace is just a part of class/function name. You could enumerate >> > classes/functions and split their names, but I'm not sure for what such >> > list >> > will be useful. Could you explain? >> > >> >> But, trawling all the classes and functions, extracting and >> >> aggregating the namespace would really not seem to be the way to go. >> >> And that wouldn't take into account the user defined namespaces. >> > >> > Again, there's no such thing as list of user defined namespaces, at >> > runtime. >> > You'd have to go through all classes/functions and split their names. >> > Again, >> > I'm not sure what would be the use of it. >> >> Currently, I can find the names of functions, classes and interfaces - >> be they from an extension or userland code. >> >> But I can't get namespaces, or their aliases. >> >> >> I'm not totally sure of any other use. That's why I was asking. >> >> As (or if) more extensions start to use namespaces to protect their >> contents from name collision, we are probably going to have namespace >> collision before long. >> > > that's why naming convention are meant for?
Maybe, but because of a lack of convention on naming, we have namespaces. It people named their classes/functions/etc with sensible long names, containing something that was unique to their project, after doing plenty of research for similar sounding names, we wouldn't need namespaces. When/if github/functional and/or pecl/http-DEV2 go live, these will be the first 2 namespaces provided by PHP extensions (that could be in general use). Are you all saying that the potential for a naming-collision is negligible? It seems so. As I see it, a namespace is a container. Like a class acts as a container for methods and properties, so a namespaces acts as a container for classes, interfaces and functions, ring-fencing them to avoid name collisions. So it would seem appropriate to have the ability to investigate a namespace to see what it contains and/or if it exists. Why? For exactly the same reasons you have class_exists(), interface_exists(), function_exists(). -- Richard Quadling Twitter : EE : Zend : PHPDoc @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php