ID: 15065 Comment by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Closed Bug Type: Feature/Change Request Operating System: im guessing, all PHP Version: 4.0.6 New Comment:
even with $GLOBALS or $_GLOBALS in 4.1, it still only reduces the problem by a larage part, but still enough of it remains visible. i dont want to use $_GLOBALS['varname'] for variable definitions outside functions (in global scope), to make it global on any depth of include(), when it seems very simple to add a switch to change include()'s behaviour, so that all variables set outside the functions would/could automatically be considered global. i know with 4.1 its easier to bypass this with php code, but you could just remove $_GLOBAL[] outside the functions alltogether if you wanted to set(use?) global variables. Previous Comments: ------------------------------------------------------------------------ [2002-01-16 07:08:05] [EMAIL PROTECTED] please use the special array $GLOBALS[] ------------------------------------------------------------------------ [2002-01-16 06:57:07] [EMAIL PROTECTED] it probably applies to all versions of php, atleast 4.x :) ------------------------------------------------------------------------ [2002-01-16 06:54:21] [EMAIL PROTECTED] If the include() occurs inside a function within the calling file, then all of the code contained in the called file will behave as though it had been defined inside that function. << this is the current behaviour, straight out of the manual for include(),.. now, this gets tricky, if you have function includes over 3-4-5 or more levels of includes, for example index.php calls subfiles() which includes blah.php which calls modules.php which includes file.php and so on.. usage of global variables in theese files forces people to use global definitions like in functions on a global-current-file-scope, or in one of the lower levels in functions,.. maybe if would be a good idea to make a php.ini switch like force_global_includes to change this behaviour, so the variables in the includes always get defined in the global scope? ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=15065&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]