Annotation of embedaddon/php/ext/session/tests/006.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: correct instantiation of references between variables in sessions
3: --SKIPIF--
4: <?php include('skipif.inc'); ?>
5: --INI--
6: session.use_cookies=0
7: session.cache_limiter=
8: session.serialize_handler=php
9: session.save_handler=files
10: --FILE--
11: <?php
12: error_reporting(E_ALL);
13:
14: session_id("abtest");
15: session_start();
16:
17: class a {
18: public $test = "hallo";
19: }
20:
21: class b {
22: public $a;
23: function b(&$a) {
24: $this->a = &$a;
25: }
26: }
27:
28: $a = new a();
29: $b = new b($a);
30:
31: echo "original values:\n";
32: var_dump($a,$b);
33:
1.1.1.2 ! misho 34: $_SESSION["a"] = $a;
! 35: $_SESSION["b"] = $b;
1.1 misho 36: session_write_close();
37:
1.1.1.2 ! misho 38: unset($_SESSION["a"], $_SESSION["b"]);
1.1 misho 39:
40: session_start();
41:
42: echo "values after session:\n";
43: var_dump($a,$b);
44: ?>
45: --EXPECTF--
46: original values:
47: object(a)#%d (1) {
48: ["test"]=>
49: string(5) "hallo"
50: }
51: object(b)#%d (1) {
52: ["a"]=>
53: &object(a)#%d (1) {
54: ["test"]=>
55: string(5) "hallo"
56: }
57: }
58: values after session:
59: object(a)#%d (1) {
60: ["test"]=>
61: string(5) "hallo"
62: }
63: object(b)#%d (1) {
64: ["a"]=>
65: &object(a)#%d (1) {
66: ["test"]=>
67: string(5) "hallo"
68: }
69: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>