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>