Annotation of embedaddon/php/ext/reflection/tests/ReflectionParameter_003.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ReflectionParameter class - isOptional, isDefaultValueAvailable and getDefaultValue methods.
! 3: --CREDITS--
! 4: Robin Fernandes <robinf@php.net>
! 5: Steve Seear <stevseea@php.net>
! 6: --FILE--
! 7: <?php
! 8:
! 9: class ReflectTestClass {
! 10: public static function staticMethod($paramOne, $anotherParam = "bob",
! 11: &$thirdParam = "jack", $arrayParam = array('one')) {
! 12: echo "hello from test\n";
! 13: echo "third is $thirdParam\n";
! 14: return ++$theIncrement;
! 15: }
! 16:
! 17: }
! 18:
! 19: $jane = "jane";
! 20: ReflectTestClass::staticMethod("bob", "jack");
! 21:
! 22: $refMethod = new ReflectionMethod('ReflectTestClass', 'staticMethod');
! 23: $refParameters = $refMethod->getParameters();
! 24:
! 25: echo "parameter names from staticMethod method:\n\n";
! 26: foreach($refParameters as $parameter) {
! 27: var_dump($parameter);
! 28: if($parameter->isOptional()) {
! 29: echo "this parameter is optional\n";
! 30: } else {
! 31: echo "this parameter is not optional\n";
! 32: }
! 33:
! 34: if($parameter->isDefaultValueAvailable()) {
! 35: echo "this parameter has a default value\n";
! 36: } else {
! 37: echo "this parameter has no default value\n";
! 38: }
! 39:
! 40: /*
! 41: $val = 0;
! 42: try {
! 43: $val = $parameter->getDefaultValue();
! 44: var_dump($val);
! 45: } catch (ReflectionException $e) {
! 46: print $e->getMessage();
! 47: echo "\n";
! 48: }
! 49: */
! 50:
! 51: echo "\n";
! 52: }
! 53:
! 54: ?>
! 55: --EXPECTF--
! 56: hello from test
! 57: third is jack
! 58:
! 59: Notice: Undefined variable: theIncrement in %s on line 8
! 60: parameter names from staticMethod method:
! 61:
! 62: object(ReflectionParameter)#%d (1) {
! 63: ["name"]=>
! 64: string(8) "paramOne"
! 65: }
! 66: this parameter is not optional
! 67: this parameter has no default value
! 68:
! 69: object(ReflectionParameter)#%d (1) {
! 70: ["name"]=>
! 71: string(12) "anotherParam"
! 72: }
! 73: this parameter is optional
! 74: this parameter has a default value
! 75:
! 76: object(ReflectionParameter)#%d (1) {
! 77: ["name"]=>
! 78: string(10) "thirdParam"
! 79: }
! 80: this parameter is optional
! 81: this parameter has a default value
! 82:
! 83: object(ReflectionParameter)#%d (1) {
! 84: ["name"]=>
! 85: string(10) "arrayParam"
! 86: }
! 87: this parameter is optional
! 88: this parameter has a default value
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>