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