-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
I started a scratch project with this patch and working with it seems intuitive so far. My only question at the moment is the following, however I guess it isn't specific to your NS patch then to Dmitry's: My current practice to declare an interface and provide concrete implementation was like this: file: Foo/Bar/Interface.php interface: Foo_Bar_Interface Now this gets problematic: file: Foo/Bar/Interface.php namespace: Foo::Bar; interface: Interface The last one doesn't work, because the source actually looks like: interface Interface { which gives syntax error, unexpected T_INTERFACE, expecting T_STRING I tried something like namespace Foo; interface Bar::Interface; but that gives another parser error about the :: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting '{' Is there any chance for Rescue for this, instead of changing the naming scheme? thanks, - - Markus Jessie Hernandez wrote: > Attached is a patch implementing my proposal. > > Basically, when inside a namespace, you must reference global classes > using ::globalName or by having a "use ::globalName" statement. This > allows classes inside namespaces to have the same name as internal ones > without the need of explicitly "use"-ing them (and prevents clashes with > new internal classes in the future). This only applies to classes, > functions/constants will still follow the current rules, since > __autoload does not apply to them (meaning you won't have to do things > like ::strlen just because you're inside a namespace). > > Also, no errors are generated when using a class with the same name as > an internal class, BUT there is an error if you import/alias a class > with the same name as a global (non-internal) class. The reason for this > is that the user has control of which global classes they're including, > while the same might not be true of internal classes. > > Some tests had to be modified to support the patch, and there might be a > need for additional tests to be included, but at least you can all try > out the patch and see how you feel about these new rules. > > Please look at the patch, try it out, and let me know what you think > about it or if there's anything that can be improved. Thanks. > > > Regards, > > Jessie Hernandez > Zend Certified Engineer (http://zend.com/zce.php?c=ZEND006359&r=222727282) > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHeOGK1nS0RcInK9ARAmsFAKC98h2eUH+CusL/h8X4pT5A3EH3SwCg4Jxg M+S0xyhNEbc/BzLxSY/UO0M= =jR9j -----END PGP SIGNATURE----- -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php