Re: Allow functions in namespaces?
| From: | Jessie Hernandez | Date: | Tue, 16 Aug 2005 01:32:05 +0000 |
| Subject: | Re: Allow functions in namespaces? | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-18154@lists.php.net to get a copy of this message | ||
Hello Andi,
Attached is the latest version of the patch and some test support files that
I had to zip up because I couldn't "cvs add" new directories.
Let me know what you think and of any improvements I could make to the code.
Thanks!
Best regards,
Jessie
Andi Gutmans wrote:
> I definitely prefer sticking to just classes as I agree this is what most
> people really need it for (and it wouldn't get us into the trouble we got
> into when we tried to achieve the holy grail of namespaces).
> Can you please send me an updated version of the patch to review?
>
> At 08:34 AM 8/12/2005 +0200, Marcus Boerger wrote:
>>Hello Jessie,
>>
>> don't overcomplicate it, just stay with classes.
>>
>>marcus
>>
>>Friday, August 12, 2005, 5:50:08 AM, you wrote:
>>
>> > Right now, my patch is complete as respects classes inside namespaces,
>> > simple import, namespace imports, etc. I just made a few changes
>> > locally to see how feasible it was to allow functions inside
>> > namespaces, and it was actually very simple. Like classes, the
>> > functions internally are prefixed with the namespace name and a colon,
>> > e.g.:
>>
>> > <?php
>> > namespace test_ns
>> > {
>> > function test_func
>> > {
>> > echo "hello!\n";
>> > }
>> > }
>>
>> > test_func(); // generates an error, 'test_func' does not exist
>>
>> > test_ns:test_func(); // prints "hello!"
>>?>>
>>
>>
>> > I haven't done anything with functions as regards imports, and I think
>> > it would be difficult/useless to do so. Simple imports might be easy,
>> > but what about namespace imports? There is no such concept as
>> > __autoload for functions, so namespace imports for functions would be
>> > discarded. Also, if you import foo:bar, you don't know if this is a
>> > function or a class. The former syntax of "import function/class foo
>> > from bar" would need to be used, and this syntax was very ugly IMHO.
>>
>> > So, I ask, would it be useful to have functions inside namespaces and
>> > only use it as above? Imports would only work for classes, and the only
>> > change would be that you can reference functions with a colon (of
>> > course, just like classes, you cannot declare a function name with a
>> > colon, only reference it).
>>
>> > Let me know what you guys think. My Beta 2 patch is working great as it
>> > is, and I suspect the majority of the users who want namespaces is to
>> > simply group/organize their classes anyways.
>>
>>
>> > Regards,
>>
>> > Jessie Hernandez
>>
>>
>>
>>
>>Best regards,
>> Marcus
>>
>>--
>>PHP Internals - PHP Runtime Development Mailing List
>>To unsubscribe, visit: http://www.php.net/unsub.php
Attachment: [text/x-diff] ns_0809.patch
Attachment: [application/x-gzip] tests.tar.gz
Attachment: [text/x-diff] ns_0809.patch
Attachment: [application/x-gzip] tests.tar.gz