ReflectionMethod
在线手册:中文  英文

ReflectionMethod::getClosure

(PHP >= 5.4.0)

ReflectionMethod::getClosureReturns a dynamically created closure for the method

说明

public Closure ReflectionMethod::getClosure ( string $object )

Warning

本函数还未编写文档,仅有参数列表。

参数

object

Forbidden for static methods, required for other methods.

返回值

Returns Closure. Returns NULL in case of an error.


ReflectionMethod
在线手册:中文  英文

用户评论:

Denis Doronin (2013-01-18 20:05:08)

You can call private methods with getClosure():

<?php

function call_private_method($object$method$args = array()) {
    
$reflection = new ReflectionClass(get_class($object));
    
$closure $reflection->getMethod($method)->getClosure($object);
    return 
call_user_func_array($closure$args);
}

class 
Example {

    private 
$x 1$y 10;

    private function 
sum() {
        print 
$this->$this->y;
    }

}

call_private_method(new Example(), 'sum');

?>

Output is 11.

易百教程