Annotation of embedaddon/php/ext/reflection/tests/007.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: ReflectionClass::newInstance[Args]
3: --FILE--
4: <?php
5:
6: function test($class)
7: {
8: echo "====>$class\n";
9: try
10: {
11: $ref = new ReflectionClass($class);
12: }
13: catch (ReflectionException $e)
14: {
15: var_dump($e->getMessage());
16: return; // only here
17: }
18:
19: echo "====>newInstance()\n";
20: try
21: {
22: var_dump($ref->newInstance());
23: }
24: catch (ReflectionException $e)
25: {
26: var_dump($e->getMessage());
27: }
28:
29: echo "====>newInstance(25)\n";
30: try
31: {
32: var_dump($ref->newInstance(25));
33: }
34: catch (ReflectionException $e)
35: {
36: var_dump($e->getMessage());
37: }
38:
39: echo "====>newInstance(25, 42)\n";
40: try
41: {
42: var_dump($ref->newInstance(25, 42));
43: }
44: catch (ReflectionException $e)
45: {
46: var_dump($e->getMessage());
47: }
48:
49: echo "\n";
50: }
51:
52: function __autoload($class)
53: {
54: echo __FUNCTION__ . "($class)\n";
55: }
56:
57: test('Class_does_not_exist');
58:
59: Class NoCtor
60: {
61: }
62:
63: test('NoCtor');
64:
65: Class WithCtor
66: {
67: function __construct()
68: {
69: echo __METHOD__ . "()\n";
70: var_dump(func_get_args());
71: }
72: }
73:
74: test('WithCtor');
75:
76: Class WithCtorWithArgs
77: {
78: function __construct($arg)
79: {
80: echo __METHOD__ . "($arg)\n";
81: var_dump(func_get_args());
82: }
83: }
84:
85: test('WithCtorWithArgs');
86:
87: ?>
88: ===DONE===
89: <?php exit(0); ?>
90: --EXPECTF--
91:
92: ====>Class_does_not_exist
93: __autoload(Class_does_not_exist)
94: string(41) "Class Class_does_not_exist does not exist"
95: ====>NoCtor
96: ====>newInstance()
97: object(NoCtor)#%d (0) {
98: }
99: ====>newInstance(25)
100: string(86) "Class NoCtor does not have a constructor, so you cannot pass any constructor arguments"
101: ====>newInstance(25, 42)
102: string(86) "Class NoCtor does not have a constructor, so you cannot pass any constructor arguments"
103:
104: ====>WithCtor
105: ====>newInstance()
106: WithCtor::__construct()
107: array(0) {
108: }
109: object(WithCtor)#%d (0) {
110: }
111: ====>newInstance(25)
112: WithCtor::__construct()
113: array(1) {
114: [0]=>
115: int(25)
116: }
117: object(WithCtor)#%d (0) {
118: }
119: ====>newInstance(25, 42)
120: WithCtor::__construct()
121: array(2) {
122: [0]=>
123: int(25)
124: [1]=>
125: int(42)
126: }
127: object(WithCtor)#%d (0) {
128: }
129:
130: ====>WithCtorWithArgs
131: ====>newInstance()
132:
133: Warning: Missing argument 1 for WithCtorWithArgs::__construct() in %s007.php on line %d
134:
135: Notice: Undefined variable: arg in %s007.php on line %d
136: WithCtorWithArgs::__construct()
137: array(0) {
138: }
139: object(WithCtorWithArgs)#%d (0) {
140: }
141: ====>newInstance(25)
142: WithCtorWithArgs::__construct(25)
143: array(1) {
144: [0]=>
145: int(25)
146: }
147: object(WithCtorWithArgs)#%d (0) {
148: }
149: ====>newInstance(25, 42)
150: WithCtorWithArgs::__construct(25)
151: array(2) {
152: [0]=>
153: int(25)
154: [1]=>
155: int(42)
156: }
157: object(WithCtorWithArgs)#%d (0) {
158: }
159:
160: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>