Re: Allow functions in namespaces?

From: 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
« previous php.internals (#18154) next »