Annotation of embedaddon/php/ext/session/tests/026.phpt, revision 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>