Re: Interfaces name "Interface", was: [PHP-DEV] Re: Idea for namespacelookup resolution
| From: | Jessie Hernandez | 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-----