php Reflection

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invoke('Dr', 'Phil');
?> 

以上例程会输出:

Dr. Phil

注释

Note: 
如果函数有参数需为引用,那么它们必须以引用方式传入。 
class HelloWorld {

    public function sayHelloTo($params) {
        return 'Hello ' . $params['name'] . ' '.$params['age'];
    }

}$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invoke(new HelloWorld, array('name' => 'Mike', 'age' => 34));

以上例程会输出:

Hello Mike 34
class HelloWorld {

    static public  function sayHelloTo($params) {
        return 'Hello ' . $params['name'] . ' '.$params['age'];
    }

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invoke(null, array('name' => 'Mike', 'age' => 34));

以上例程会输出:

Hello Mike 34

猜你喜欢

转载自www.cnblogs.com/hnhycnlc888/p/9887806.html