Annotation of embedaddon/php/ext/reflection/tests/ReflectionMethod_getClosure_basic.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test ReflectionMethod::getClosure() function : basic functionality 
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : public mixed ReflectionFunction::getClosure()
        !             6:  * Description: Returns a dynamically created closure for the method 
        !             7:  * Source code: ext/reflection/php_reflection.c
        !             8:  * Alias to functions: 
        !             9:  */
        !            10: 
        !            11: echo "*** Testing ReflectionMethod::getClosure() : basic functionality ***\n";
        !            12: 
        !            13: class StaticExample
        !            14: {
        !            15:        static function foo()
        !            16:        {
        !            17:                var_dump( "Static Example class, Hello World!" );
        !            18:        }
        !            19: }
        !            20: 
        !            21: class Example
        !            22: {
        !            23:        public $bar = 42;
        !            24:        public function foo()
        !            25:        {
        !            26:                var_dump( "Example class, bar: " . $this->bar );
        !            27:        }
        !            28: }
        !            29: 
        !            30: // Initialize classes
        !            31: $class = new ReflectionClass( 'Example' );
        !            32: $staticclass = new ReflectionClass( 'StaticExample' );
        !            33: $object = new Example();
        !            34: $fakeobj = new StdClass();
        !            35: 
        !            36: 
        !            37: $method = $staticclass->getMethod( 'foo' );
        !            38: $closure = $method->getClosure();
        !            39: $closure();
        !            40: 
        !            41: $method = $class->getMethod( 'foo' );
        !            42: 
        !            43: $closure = $method->getClosure( $object );
        !            44: $closure();
        !            45: $object->bar = 34;
        !            46: $closure();
        !            47: 
        !            48: ?>
        !            49: ===DONE===
        !            50: --EXPECTF--
        !            51: *** Testing ReflectionMethod::getClosure() : basic functionality ***
        !            52: string(34) "Static Example class, Hello World!"
        !            53: string(22) "Example class, bar: 42"
        !            54: string(22) "Example class, bar: 34"
        !            55: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>