Bug #16614 Updated: Function called from class treats GLOBAL vars in different way...

From: Date: Mon, 15 Apr 2002 14:08:22 +0000
Subject: Bug #16614 Updated: Function called from class treats GLOBAL vars in different way...
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-5027@lists.php.net to get a copy of this message
ID: 16614 Updated by: vmg@arachnion.de Reported By: daniel@webdevelopers.cz Status: Open Bug Type: Class/Object related Operating System: Windows 2000, Windows XP PHP Version: 4.1.2 New Comment: This error is reproducable for PHP 4.2.0rc1: First version ($GLOBALS["obj"]=&$ref;) gives: object(test)(0) { } Second version ($obj=&$ref;) gives: NULL Previous Comments: ------------------------------------------------------------------------ [2002-04-15 05:53:47] daniel@webdevelopers.cz There is the line marked with '#*' in the following script. One line up you will find other line that should make the exactly same action (I think). Try to comment this line and uncomment line with '#*'. The output will differ. Why? --- SCRIPT: START --- <PRE><?php class test { function test() { extfunc($this); } } #___________________________________________________________ function extfunc(&$ref) { global $obj; $GLOBALS["obj"]=&$ref; # This is the same as '$obj=&$ref;'. Isn't it? #* $obj=&$ref; } #=========================================================== $test=new test(); var_dump($obj); ?></PRE> --- SCRIPT: END --- ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16614&edit=1

« previous php.bugs (#5027) next »