Annotation of embedaddon/php/ext/session/tests/026.phpt, revision 1.1.1.1
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:
34: $_SESSION['a'] = $a;
35: $_SESSION['b'] = $b;
36:
37: session_write_close();
38: unset($_SESSION['a']);
39: unset($_SESSION['b']);
40:
41: session_start();
42: $a = $_SESSION['a'];
43: $b = $_SESSION['b'];
44: echo "values after session:\n";
45: var_dump($a,$b);
46: ?>
47: --EXPECTF--
48: original values:
49: object(a)#%d (1) {
50: ["test"]=>
51: string(5) "hallo"
52: }
53: object(b)#%d (1) {
54: ["a"]=>
55: &object(a)#%d (1) {
56: ["test"]=>
57: string(5) "hallo"
58: }
59: }
60: values after session:
61: object(a)#%d (1) {
62: ["test"]=>
63: string(5) "hallo"
64: }
65: object(b)#%d (1) {
66: ["a"]=>
67: &object(a)#%d (1) {
68: ["test"]=>
69: string(5) "hallo"
70: }
71: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>