ID: 20676
Updated by: [EMAIL PROTECTED]
Reported By: alex_boyer at hotmail dot com
-Status: Verified
+Status: Wont fix
Bug Type: Class/Object related
Operating System: *
PHP Version: 4CVS
New Comment:
"Fixed" in PHP 5 (where you don't even need to play around with
references..)
Previous Comments:
------------------------------------------------------------------------
[2002-12-09 06:57:51] [EMAIL PROTECTED]
This shouldn't really part of the scripting engine bugs but addressed
to the authors of serialize() and unserialize(). Re-classifying.
------------------------------------------------------------------------
[2002-11-27 09:32:28] alex_boyer at hotmail dot com
i thought that PHP count references on data before destroys it. This is
not the case. This is why $GLOBALS['ref'] is null isn't it ?
------------------------------------------------------------------------
[2002-11-27 09:22:51] alex_boyer at hotmail dot com
I try to keep reference on all instances of a class. Even, unserialized
one.
<?php
class A {
var $x=1;
function __wakeup(){
$GLOBALS['ref'] =& $this;
}
}
function set(){
//Serialize information
$a =& new A();
$a->x=2;
$data = serialize($a);
//Unserialize
$b =& unserialize($data); // i try without '&'
$result= $b === $GLOBALS['ref']; // $result == true;
echo "VALUE IN SET: {$b->x} \n"; // Echo 2
}
set();
echo "VALUE OUT SET: {$GLOBALS['ref']->x}\n"; //echo nothing,
$GLOBALS['ref'] is now NULL !
?>
I have read all docs, my eyes burns me but i really cannot understand.
I look in database too.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=20676&edit=1