ID: 50110 User updated by: n8grndr1087 at optonline dot net Reported By: n8grndr1087 at optonline dot net Status: Open Bug Type: Feature/Change Request Operating System: Unix PHP Version: 5.2.11 New Comment:
This feature would also be useful for static (file scope) functions as well. Previous Comments: ------------------------------------------------------------------------ [2009-11-07 05:07:19] n8grndr1087 at optonline dot net Description: ------------ Global variables should be able to be declared 'static'. Static globals, like in C, would only be accessible from the current file's scope. This would be a good way to protect internal variables used behind the scenes in a particular file. If there is any effective way to protect variables that I overlooked, outside of PHP classes, let me know. I understand that the possibility of this depends on how the include/file processing mechanism works. Reproduce code: --------------- myvar.inc: <?php static $myvar = 1; function get_myvar() { global $myvar; // Since its not a true global, this may be different return $myvar; } function set_myvar($v) { global $myvar; $myvar = $v; } ?> test.php: <?php include('myvar.inc'); echo get_myvar().'<br/>'; set_myvar(0); $myvar = 10000; echo get_myvar(); ?> Expected result: ---------------- 1 0 Actual result: -------------- 1 10000 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=50110&edit=1