Annotation of embedaddon/php/ext/reflection/tests/ReflectionParameter_002.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: ReflectionParameter class - isPassedByReferenceMethod()
3: --CREDITS--
4: Robin Fernandes <robinf@php.net>
5: Steve Seear <stevseea@php.net>
6: --FILE--
7: <?php
8: class ReflectTestClass {
9: public static function staticMethod(&$paramOne, $anotherParam) {
10: return ++$theIncrement;
11: }
12:
13: public function instanceMethod($firstParam, &$secondParam) {
14: $firstParam = "Hello\n";
15: }
16: }
17:
18: // Create an instance of the Reflection_Method class
19: $method = new ReflectionMethod('ReflectTestClass', 'staticMethod');
20: // Get the parameters
21: $parameters = $method->getParameters();
22: echo "Parameters from staticMethod:\n\n";
23: foreach($parameters as $parameter) {
24: var_dump($parameter);
25: if($parameter->isPassedByReference()) {
26: echo "This param is passed by reference\n";
27: } else {
28: echo "This param is not passed by reference\n";
29: }
30: echo "\n";
31: }
32:
33: // Create an instance of the Reflection_Method class
34: $method = new ReflectionMethod('ReflectTestClass', 'instanceMethod');
35: // Get the parameters
36: $parameters = $method->getParameters();
37: echo "Parameters from instanceMethod:\n\n";
38: foreach($parameters as $parameter) {
39: var_dump($parameter);
40: if($parameter->isPassedByReference()) {
41: echo "This param is passed by reference\n";
42: } else {
43: echo "This param is not passed by reference\n";
44: }
45: echo "\n";
46: }
47:
48: echo "done\n";
49:
50: ?>
51: --EXPECTF--
52: Parameters from staticMethod:
53:
54: object(ReflectionParameter)#%i (1) {
55: ["name"]=>
56: string(8) "paramOne"
57: }
58: This param is passed by reference
59:
60: object(ReflectionParameter)#%i (1) {
61: ["name"]=>
62: string(12) "anotherParam"
63: }
64: This param is not passed by reference
65:
66: Parameters from instanceMethod:
67:
68: object(ReflectionParameter)#%i (1) {
69: ["name"]=>
70: string(10) "firstParam"
71: }
72: This param is not passed by reference
73:
74: object(ReflectionParameter)#%i (1) {
75: ["name"]=>
76: string(11) "secondParam"
77: }
78: This param is passed by reference
79:
80: done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>