Merge bitbucket.org:mike_php_net/ext-propro
[m6w6/ext-propro] / tests / 001.phpt
1 --TEST--
2 property proxy
3 --SKIPIF--
4 <?php if (!extension_loaded("propro")) print "skip"; ?>
5 --FILE--
6 <?php
7
8 echo "Test\n";
9
10 class c {
11 private $prop;
12 private $anon;
13 function __get($p) {
14 return new php\PropertyProxy($this, $p);
15 }
16 }
17
18 $c = new c;
19
20 $p = $c->prop;
21 $a = $c->anon;
22
23 var_dump($c);
24
25 $a = 123;
26 echo $a,"\n";
27
28 $p["foo"] = 123;
29 $p["bar"]["baz"]["a"]["b"]=987;
30
31 var_dump($c);
32
33 ?>
34 DONE
35 --EXPECTF--
36 Test
37 object(c)#%d (2) {
38 ["prop":"c":private]=>
39 NULL
40 ["anon":"c":private]=>
41 NULL
42 }
43 123
44 object(c)#%d (2) {
45 ["prop":"c":private]=>
46 array(2) {
47 ["foo"]=>
48 int(123)
49 ["bar"]=>
50 array(1) {
51 ["baz"]=>
52 array(1) {
53 ["a"]=>
54 array(1) {
55 ["b"]=>
56 int(987)
57 }
58 }
59 }
60 }
61 ["anon":"c":private]=>
62 int(123)
63 }
64 DONE