#45299 [Opn->Bgs]: serialize / unserialize $GLOBALS breaks global objects
ID: 45299
Updated by: jani@php.net
Reported By: taco at procurios dot nl
-Status: Open
+Status: Bogus
Bug Type: Class/Object related
Operating System: linux
PHP Version: 5.2.6
New Comment:
Complain to PHPUnit people then.
Previous Comments:
------------------------------------------------------------------------
[2008-07-03 11:55:57] taco at procurios dot nl
I don't ;)
I encountered this 'bug' while using PHPUnit, see:
http://www.phpunit.de/browser/phpunit/trunk/PHPUnit/Framework/TestCase.php#L370
------------------------------------------------------------------------
[2008-07-03 11:53:02] jani@php.net
Please tell us WHY do you want to serialize special super global arrays
like $GLOBALS in the first place?! That's propably the dummiest idea
ever..
------------------------------------------------------------------------
[2008-06-18 12:03:24] taco at procurios dot nl
Description:
------------
When serializing and later on deserializing the $GLOBALS array, global
objects aren't recreated.
Reproduce code:
---------------
class Foo
{
public $foo;
public function __construct($foo)
{
$this->foo = $foo;
}
}
$Foo = new Foo(34);
var_dump($GLOBALS['Foo']);
$s = serialize($GLOBALS);
$GLOBALS = unserialize($s);
var_dump($GLOBALS['Foo']);
Expected result:
----------------
object(Foo)#1 (1) {
["foo"]=>
int(34)
}
object(Foo)#1 (1) {
["foo"]=>
int(34)
}
Actual result:
--------------
object(Foo)#1 (1) {
["foo"]=>
int(34)
}
int(1)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45299&edit=1
Thread (5 messages)