AW: [STANDARDS] Documenting strange include behaviour
[email protected] ("Robert Stoll")
| Newsgroups | php.standards |
|---|---|
| Message-ID | <[email protected]> |
> -----Ursprüngliche Nachricht----- > Von: Robert Stoll [mailto:[email protected]] > Gesendet: Donnerstag, 13. November 2014 16:18 > An: 'Rowan Collins'; [email protected] > Betreff: AW: [STANDARDS] Documenting strange include behaviour > > > > > -----Ursprüngliche Nachricht----- > > Von: Rowan Collins [mailto:[email protected]] > > Gesendet: Donnerstag, 13. November 2014 15:22 > > An: [email protected] > > Betreff: Re: [STANDARDS] Documenting strange include behaviour > > > > Robert Stoll wrote on 13/11/2014 14:11: > > > From the example above we can see that variables and constants > > > defined with define() do not remain in their namespace > > > > Constants defined with define() are never scoped to the current namespace, this is not related to the use of include. > > > > There's a user note in the manual which explains this rather well, and > > should probably be rolled into the text of the > manual > > itself: > > http://php.net/define#90282 > > > > Oh, I see, my fault, the behaviour of const and define is perfectly fine then. > That variables are transferred to the namespace they are included to seems ok to me as well (that's at least what I > expected). In this sense global $var within foo is ok as well. > I guess that already covered all my open questions, thanks Rowan. I'll write up a section in the spec. > I see some misconception here. I always thought variables defined in a namespace scope are only available in this specific namespace and not in others. But yeah, they are global and thus available in all namespaces (shame on me ^^). My fault, sorry for the confusion. Nevertheless, I'll write down some clarifications on what happens with global variables when they are included in a function or class