In your example : <?php namespace Foo; import Blah::Exception; $a = new Exception; ?>
"new Exception" refer to "Blah::Exception" and will fail if such class doesn't exists. "import Blah::Exception" creates an alias with short name "Exception" only for current file (it doesn't creates "Foo::Exception") May be I didn't understood the question. :) Thanks. Dmitry. > -----Original Message----- > From: Stanislav Malyshev [mailto:[EMAIL PROTECTED] > Sent: Thursday, October 04, 2007 12:50 AM > To: Greg Beaver; Dmitry Stogov > Cc: php-dev; Benjamin Schulz > Subject: Re: [PHP-DEV] a way to fix the import issue > > > > <?php > > namespace Foo; > > import Blah::Exception; > > $a = new Exception; > > ?> > > > > should in fact be implicitly importing Blah::Exception as > if it were > > Foo::Exception, rather than as ::Exception. In other > words, I would > > actually expect the above code to be equivalent to: > > > > <?php > > namespace Foo; > > import Blah::Exception as Foo::Exception; > > $a = new Foo::Exception; > > ?> > > No, not really. It's equivalent to: > <? > $a = new Blah::Exception(); > ?> > > There's no class named Foo::Exception and import does not create it. > However, I think I see what you were meaning - that new > Exception should > refer to Blah::Exception. I think it is true. Dmitry, could you look > into it? I.e. unqualified lookups inside namespace should also take > imports into account. > > -- > Stanislav Malyshev, Zend Software Architect > [EMAIL PROTECTED] http://www.zend.com/ > (408)253-8829 MSN: [EMAIL PROTECTED] > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php