#45299 [Fbk->Opn]: serialize / unserialize $GLOBALS breaks global objects
| From: | taco at procurios dot nl | Date: | Thu, 03 Jul 2008 11:55:57 +0000 |
| Subject: | #45299 [Fbk->Opn]: serialize / unserialize $GLOBALS breaks global objects | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-126235@lists.php.net to get a copy of this message | ||
ID: 45299
User updated by: taco at procurios dot nl
Reported By: taco at procurios dot nl
-Status: Feedback
+Status: Open
Bug Type: Class/Object related
Operating System: linux
PHP Version: 5.2.6
New Comment:
I don't ;)
I encountered this 'bug' while using PHPUnit, see:
http://www.phpunit.de/browser/phpunit/trunk/PHPUnit/Framework/TestCase.php#L370
Previous Comments:
------------------------------------------------------------------------
[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