>I have two dozen classes in this application. In every case, there will >be a variable, the name of which is a lowercase variant of the class >name, to which is assigned an instance of the class, when the class's >construct() function completes. The example informs you of this. > Actually, as we've explained, your example does _not_ show this, it works as expected and throws a notice, from which can be inferred there is other code doing this >> I would say for definite that it's some of the surrounding code, > >Exactly. No sooner and no later than precisely when the class's >construct() function ends, and control is given to the next statement >after the one that instantiated that class. > Is your class maybe inheriting from another one and that contains the code causing this issue? > >> probably something similar to this: > >Let's explore this statement: > >> $GLOBALS[strtolower(get_class($this))] = $this; > >May I infer that the declaration of $GLOBALS['hello'] will, at the same >time, also create $hello (without a statement declaring such)? The $GLOBALS array is what's known as a super global. Elements within the array are reflected as global variables and vice-versa. > >This: >http://php.net/manual/en/reserved.variables.globals.php >implies the opposite direction. > Not sure what you mean, but this super global works both ways. Don't necessarily get hung up on this being the exact code, it's just a proof of concept of how it /might/ be happening. Like I said, there are probably other ways too. > >-- >PHP General Mailing List (http://www.php.net/) >To unsubscribe, visit: http://www.php.net/unsub.php Thanks, Ash -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php