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

Reply via email to