Re: Interfaces name "Interface", was: [PHP-DEV] Re: Idea for namespacelookup resolution

From: Date: Fri, 04 Jan 2008 14:26:26 +0000
Subject: Re: Interfaces name "Interface", was: [PHP-DEV] Re: Idea for namespacelookup resolution
References: 1 2  Groups: php.internals php.internals 
Request: Send a blank email to internals+get-34405@lists.php.net to get a copy of this message
Hi Markus, Thanks for testing out the patch! Has anyone else had a chance to test it out? I think this is a good solution to the naming conflict issue that is currently present with namespaces, but I'd love to hear other's opinions/experiences on this. -- Jessie Hernandez Zend Certified Engineer (http://zend.com/zce.php?c=ZEND006359&r=222727282) Markus Fischer wrote: > -----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 > > -----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-----

« previous php.internals (#34405) next »