If you want to create copies like in ZE1 you can use __clone().
Zeev
At 06:13 25/03/2003, Jan Schneider wrote:
Running the following code:
class Foo { var $bar_ref; }
class Bar { var $foo_ref; }
$foo = new Foo(); $bar = new Bar(); $foo->bar_ref = $bar; $bar->foo_ref = $foo;
var_dump($foo); var_dump($bar);
$s = serialize($foo); var_dump($s); $s = serialize($bar); var_dump($s);
in PHP_4_3 results to:
object(foo)(1) { ["bar_ref"]=> object(bar)(1) { ["foo_ref"]=> NULL } } object(bar)(1) { ["foo_ref"]=> object(foo)(1) { ["bar_ref"]=> object(bar)(1) { ["foo_ref"]=> NULL } } } string(58) "O:3:"foo":1:{s:7:"bar_ref";O:3:"bar":1:{s:7:"foo_ref";N;}}" string(86) "O:3:"bar":1:{s:7:"foo_ref";O:3:"foo":1:{s:7:"bar_ref";O:3:"bar":1:{s:7:"foo_ref";N;}}}"
in HEAD:
object(foo)#1 (1) { ["bar_ref"]=> object(bar)#2 (1) { ["foo_ref"]=> object(foo)#1 (1) { ["bar_ref"]=> object(bar)#2 (1) { ["foo_ref"]=> *RECURSION* } } } } object(bar)#2 (1) { ["foo_ref"]=> object(foo)#1 (1) { ["bar_ref"]=> object(bar)#2 (1) { ["foo_ref"]=> object(foo)#1 (1) { ["bar_ref"]=> *RECURSION* } } } }
and a segfault (apache 1 sapi) or a runaway process (cli sapi).
Jan.
-- http://www.horde.org - The Horde Project http://www.ammma.de - discover your knowledge http://www.tip4all.de - Deine private Tippgemeinschaft
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php