Hi, At first "import Zend::DB" is equivalent of "import Zend:DB as DB";
<?php require 'Zend/Db/Connection.php'; import Zend::DB; After these statement you can use any classes and functions from Zend::DB namespace qualifying them by prefix "DB::". $x = DB::Connection(); Thanks. Dmitry. > -----Original Message----- > From: Arpad Ray [mailto:[EMAIL PROTECTED] > Sent: Monday, July 23, 2007 8:37 PM > To: [EMAIL PROTECTED] > Cc: 'Hans Lellelid'; 'PHP internals' > Subject: RE: [PHP-DEV] Simple Namespace Proposal > > > > Hi Dmitry, > > What made me think it's supported is that both the proposal > and tests include namespace imports. Quoting from the proposal: > > > Namespace or class name can be imported: > > > > <?php > > require 'Zend/Db/Connection.php'; > > import Zend::DB; > > And ns_002.phpt: > > > import test::ns1; > > So if not importing everything in the namespace, what exactly > are these statements supposed to do? > > I'm also curious why the direct importing of classes would be > the only exception (why not functions too?), is this an > unavoidable inconsistency? > > Regards, > > Arpad > > > > On 7/23/2007, "Dmitry Stogov" <[EMAIL PROTECTED]> wrote: > > >Hi Arpad, > > > >You have to always use namespace name as prefix for acesing > namespace > >entities. (The only exception is direct import of calss). > >So expectatins in your tests are wrong. > > > >Thanks. Dmitry. > > > >> -----Original Message----- > >> From: Arpad Ray [mailto:[EMAIL PROTECTED] > >> Sent: Sunday, July 15, 2007 7:32 PM > >> To: Dmitry Stogov > >> Cc: 'Hans Lellelid'; 'PHP internals' > >> Subject: Re: [PHP-DEV] Simple Namespace Proposal > >> > >> > >> Dmitry Stogov wrote: > >> > The patch is already committed to the HEAD. > >> > > >> > Dmitry. > >> > > >> There seem to be some problems with importing across > files. The tests > >> currently in CVS are all in single files so it's not immediately > >> obvious. When a namespace is declared in one file and imported in > >> another, classes must be addressed absolutely either in > the import or > >> when used, and functions must be addressed absolutely when used, > >> irrespective of imports. > >> > >> I've attached some phpt files to test this, but here's a simple > >> illustration: > >> > >> foo.php: > >> <?php > >> namespace foo; > >> function foobar() { } > >> class Foobaz { } > >> ?> > >> > >> bar.php: > >> <?php > >> import foo; > >> foobar(); // error > >> new Foobaz; // error > >> foo::foobar(); // ok > >> new foo::Foobaz; // ok > >> > >> import foo::foobar; > >> import foo::Foobaz; > >> foobar(); // error > >> new Foobaz; // ok > >> > >> import foo::foobar as foobar2; > >> foobar2(); // error > >> ?> > >> > >> > >> Arpad > >> > > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php