Re: Inconsistencies in 5.3

From: Date: Wed, 13 Aug 2008 22:43:32 +0000
Subject: Re: Inconsistencies in 5.3
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  Groups: php.internals 
Request: Send a blank email to internals+get-39939@lists.php.net to get a copy of this message
Lukas Kahwe Smith wrote: > > On 13.08.2008, at 22:18, Stanislav Malyshev wrote: > >> Simply include a script from two locations with different namespaces >> or one >>> >>> with namespace and the otherone without. >> >> I'm afraid you misunderstand how namespaces work. As I explained >> numerous times, namespaces are file-local, and this when including >> file, it does not matter a bit what was including context. > > I think Marcus is talking about files that are included that do not > specify a namespace explicitly. In this situation the context does matter. > > We do not know if the developer in question is aware that the context > would matter in this case. Actually like I said in a previous email it > would be nice to at least not throw a warning if the file that is > included specifies an explicit namespace (I assume that is possible?). > Maybe adding a new "include" is a solution. This way developers can say > explicitly what they want to do without having to suppress the warning. > Then again quickly some smartass developer is going to teach people that > these annoying warnings go away if you just use this new include > everywhere. Then again, I am not sure if I even have my head wrapped > around this entire namespace thing. Hi, Currently, if you include a file within a class method that contains function definitions, they remain functions outside the class. If you include a file that contains a class. In short, only global cpde is executed in the scope, and there is no precedent in PHP to redefine re-usable elements based on scope. Why would namespaces be any different? This whole argument makes no sense to me. Greg

« previous php.internals (#39939) next »