Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:33949 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 51663 invoked by uid 1010); 12 Dec 2007 00:01:37 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 51647 invoked from network); 12 Dec 2007 00:01:36 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Dec 2007 00:01:36 -0000 Authentication-Results: pb1.pair.com smtp.mail=dz@bitxtender.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=dz@bitxtender.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain bitxtender.com from 80.237.132.12 cause and error) X-PHP-List-Original-Sender: dz@bitxtender.com X-Host-Fingerprint: 80.237.132.12 wp005.webpack.hosteurope.de Received: from [80.237.132.12] ([80.237.132.12:48119] helo=wp005.webpack.hosteurope.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C8/42-38526-0E42F574 for ; Tue, 11 Dec 2007 19:01:36 -0500 Received: from dslb-084-056-059-202.pools.arcor-ip.net ([84.56.59.202] helo=localhost); authenticated by wp005.webpack.hosteurope.de running ExIM using esmtpsa (TLSv1:RC4-SHA:128) id 1J2F2c-0008PI-BT; Wed, 12 Dec 2007 01:01:34 +0100 Cc: internals@lists.php.net Message-ID: <8FCE962C-288F-44D6-B680-58754038AC85@bitxtender.com> To: Stanislav Malyshev In-Reply-To: <475F1CC5.10505@zend.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v915) Date: Wed, 12 Dec 2007 01:01:33 +0100 References: <11970653983080000@9866357972520000.9866341568840000> <475BDDF1.7040605@ctindustries.net> <1723341090.20071210220025@marcus-boerger.de> <1197323296.3922.5.camel@sbarrow-desktop> <00A2E2156BEE8446A81C8881AE117F199A0715@companyweb> <475ED038.3080004@zend.com> <7F9E1E02-FF89-474B-9E94-007747B3637A@bitxtender.com> <475EF175.2030304@zend.com> <475F01B1.8090407@zend.com> <31696FA6-ADC3-4853-A5AE-23FA16750B3D@bitxtender.com> <475F10DA.6000909@zend.com> <7ADAF424-D5CC-48F7-AF4C-4D8BC219C1CA@bitxtender.com> <475F1CC5.10505@zend.com> X-Mailer: Apple Mail (2.915) X-bounce-key: webpack.hosteurope.de;dz@bitxtender.com;1197417697;a11a326d; Subject: Re: AW: [PHP-DEV] Namespace resolution From: dz@bitxtender.com (=?ISO-8859-1?Q?David_Z=FClke?=) Am 12.12.2007 um 00:27 schrieb Stanislav Malyshev: >> >> require_once('setup.php'); >> import Name::Space; >> $d = new DateTime(); // a PHP DateTime >> someStuffWeDoNotHaveControlOver(); >> $d = new DateTime(); // a Name::Space::DateTime now! > > Of course not. DateTime would be just DateTime there, not > Name::Space::DateTime, since you are not inside namespace > Name::Space but in global context. Why? I did import Name::Space. According to the current lookup rules, the first new DateTime() call creates a PHP internal class since Name::Space::DateTime cannot be found (and autoloading would only be triggered later), and the second DateTime() call does create Name::Space::DateTime because by then, it has been autoloaded and thus can be found in the current namespace. David