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

Reply via email to