Annotation of embedaddon/php/ext/session/tests/004.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: session_set_save_handler test
3: --SKIPIF--
4: <?php include('skipif.inc'); ?>
5: --INI--
6: session.use_cookies=0
7: session.cache_limiter=
8: register_globals=1
9: session.name=PHPSESSID
10: session.serialize_handler=php
11: --FILE--
12: <?php
13: error_reporting(E_ALL);
14:
15: class handler {
16: public $data = 'baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}}';
17: function open($save_path, $session_name)
18: {
19: print "OPEN: $session_name\n";
20: return true;
21: }
22: function close()
23: {
24: return true;
25: }
26: function read($key)
27: {
28: print "READ: $key\n";
29: return $GLOBALS["hnd"]->data;
30: }
31:
32: function write($key, $val)
33: {
34: print "WRITE: $key, $val\n";
35: $GLOBALS["hnd"]->data = $val;
36: return true;
37: }
38:
39: function destroy($key)
40: {
41: print "DESTROY: $key\n";
42: return true;
43: }
44:
45: function gc() { return true; }
46: }
47:
48: $hnd = new handler;
49:
50: class foo {
51: public $bar = "ok";
52: function method() { $this->yes++; }
53: }
54:
55: session_set_save_handler(array($hnd, "open"), array($hnd, "close"), array($hnd, "read"), array($hnd, "write"), array($hnd, "destroy"), array($hnd, "gc"));
56:
57: session_id("abtest");
58: session_start();
59: $baz->method();
60: $arr[3]->method();
61:
62: var_dump($baz);
63: var_dump($arr);
64:
65: session_write_close();
66:
67: session_set_save_handler(array($hnd, "open"), array($hnd, "close"), array($hnd, "read"), array($hnd, "write"), array($hnd, "destroy"), array($hnd, "gc"));
68: session_start();
69:
70: var_dump($baz);
71: var_dump($arr);
72:
73: session_destroy();
74: ?>
75: --EXPECT--
76: Deprecated: Directive 'register_globals' is deprecated in PHP 5.3 and greater in Unknown on line 0
77: OPEN: PHPSESSID
78: READ: abtest
79: object(foo)#2 (2) {
80: ["bar"]=>
81: string(2) "ok"
82: ["yes"]=>
83: int(2)
84: }
85: array(1) {
86: [3]=>
87: object(foo)#3 (2) {
88: ["bar"]=>
89: string(2) "ok"
90: ["yes"]=>
91: int(2)
92: }
93: }
94: WRITE: abtest, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
95: OPEN: PHPSESSID
96: READ: abtest
97: object(foo)#4 (2) {
98: ["bar"]=>
99: string(2) "ok"
100: ["yes"]=>
101: int(2)
102: }
103: array(1) {
104: [3]=>
105: object(foo)#2 (2) {
106: ["bar"]=>
107: string(2) "ok"
108: ["yes"]=>
109: int(2)
110: }
111: }
112: DESTROY: abtest
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>